| Autor | Nachricht | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 14.11.2008, 15:36 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 23. Sep 2005
 Beiträge: 488
 
 
 |  | 
        
          | ICh möchte etwa 100 Benutzern in ihre /home/benutzer/website/index.html einen Begrüßungstext schreiben, in dem auch deren NAme vorkommt. Mit cat schaffe ich das nicht. z:B den TExt "Willkommen auf unserer Website, Benutzer!" ich stelle mir eine schleife in /home vor die so beginnt for i in `ls?, do ... aber WAS?
 
 hosef
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 14.11.2008, 16:13 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 17. Dez 2003
 Beiträge: 16809
 
 
 |  | 
        
          | hallo hosef   
 Es ist nicht ganz die feine Art in andere User Verzeichnisse zu schreiben, aber wenns denn sein muss, dann musst danach auch die permissions anpassen.
 
 Code: 
#!/bin/sh
cd /home
 for x in *; do
 mkdir -p $x/website
 cat > $x/website/index.html <<EOT
 <html>
 <title>Testseite></title>
 <body>
 Willkommen auf unserer Website $(getent passwd $x|awk -F: '{print $5}')!
 </body>
 </html>
 EOT
 chown -R $x:$x $x/website
 done
 
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 15.11.2008, 01:51 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 23. Sep 2005
 Beiträge: 488
 
 
 |  | 
        
          | werde das alsbald testen danke jörg
 josef
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 15.11.2008, 02:17 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 23. Sep 2005
 Beiträge: 488
 
 
 |  | 
        
          | website# cat index.html <html>
 <title>Testseite-1></title>
 <body>
 Willkommen auf unserer Website ,,,!
 </body>
 </html>
 
 habs getestet - hier das ergebnis ...
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 15.11.2008, 09:44 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 17. Dez 2003
 Beiträge: 16809
 
 
 |  | 
        
          | Das ist auch korrekt so, weil normalerweise an der Stelle der Name es Users steht, bei dir ist der Name halt ",,," 
 Wenn deine User alle ,,, heissen bist ja wohl du dran schuld
   
 Wenn du was längeres drin hast, wo mit "," getrennt wäre kannst noch ein sed nachschalten (mal mit cut zur Abwechslung):
 
 getent passwd 1000|cut -f5 -d:|sed 's/,.*//'
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 15.11.2008, 10:35 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 23. Sep 2005
 Beiträge: 488
 
 
 |  | 
        
          | print $1 tut was ich will - der Rest ist tatsächlich leer  (bei fast allen ...) alles ok
 thx
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 15.11.2008, 10:52 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 23. Sep 2005
 Beiträge: 488
 
 
 |  | 
        
          | so jetz is es so weit - ich habe mehr gelernt als ich eigentlich vor hatte   das script kann ja kürzer sein  -Willkommen $x- reicht eigentlich
 habe man cat und auch info cat durchstöbert, die hier angeführten Hinweise aber nicht gefunden ...
 wo steht das, was man mit cat alles anstellen kann?
 
 das EOT habe ich nicht gekannt ...
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: index.html  Verfasst am: 15.11.2008, 12:08 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 17. Dez 2003
 Beiträge: 16809
 
 
 |  | 
        
          | EOT ist nur ein Marker, kannst auch GSB nehmen  Trickreich ist auch 'EOT', das nimmt man, wenn $ nicht ausgewertet werden soll - z. B. für embedded patches sinnvoll. Wenn du nur den usernamen willst kannst gleich $x nehmen, ohne getent... |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
  
    |  |