Datei zeilenweise auslesen und Befehl ausführen

Dieses Thema: "Datei zeilenweise auslesen und Befehl ausführen" im Forum "Shell-Skripte" wurde erstellt von PhoenixDH, 07.09.2005.

  1. #1 PhoenixDH, 07.09.2005
    Zuletzt bearbeitet: 07.09.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Hab eine Datei Namens ALL_HWINFO in der Servernamen stehen in dieser Art:
    Code:
    fire: Precision WorkStation 360:WST
    fire2: Precision WorkStation 360:WST
    fire3: Precision WorkStation 360:WST
    
    Das erste sind die Servernamen: fire, fire2, fire3

    Jetzt suche ich ein Script, das mir nacheinander folgenden Befehl ausführt für alle Server in der Datei:
    Code:
    /cfg2html_server/cfg2html_aix/start_cfg2html.sh -a [B]SERVERNAME[/B]
    
    Dank euch für eure Hilfe !
     
  2. Anzeige

    schau mal hier --> (hier klicken). Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 07.09.2005
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    for i in $(cut -d: -f1 INPUTFILE); do befehl $i ; done

    Gruß Wolfgang
     
  4. #3 PhoenixDH, 09.09.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Funktioniert, dank dir !
     
  5. #4 PhoenixDH, 13.09.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    So, hab nochmal eine Frage dazu:

    Das Script läuft ja jetzt komplett automatisch ab, klappert aber immer jeden Server ab der in der Liste steht. Jetzt hätte ich aber auch gerne, das man es noch per Hand aufrufen kann mit folgendem Aufruf:
    Code:
    ./cfg2html_catch_all.sh -a SERVERNAME -x SYSTEM
    
    dann soll nur der Server angesprochen werden !

    Wenn das Script ohne Paramter aufgerufen wird soll es ganz normal ausgeführt werden:
    Code:
    #!/bin/ksh
    
    WEBSERVER=fire
    
    #Verzeichnisse neu erstellen, da diese wieder gelöscht werden
    if [ ! -d /cfg2html_server/docs/ ]
    then
    mkdir /cfg2html_server/docs/
    mkdir /cfg2html_server/docs/docs_aix/
    mkdir /cfg2html_server/docs/docs_hpux/
    mkdir /cfg2html_server/docs/docs_linux/
    mkdir /cfg2html_server/docs/docs_sun/
    fi
    
    #Start Sammeln aller Informationen
    #Sammeln aller AIX Systeme
    for i in $(cut -d: -f1 /cfg2html_server/cfg2html_aix/ALL_HWINFO); 
    do 
    /cfg2html_server/cfg2html_aix/start_cfg2html.sh -a $i ; 
    done
    
    #Sammeln aller HP-UX Systeme
    for i in $(cut -d: -f1 /cfg2html_server/cfg2html_hpux/ALL_HWINFO); 
    do 
    /cfg2html_server/cfg2html_hpux/start_cfg2html.sh -a $i ; 
    done
    
    #Sammeln aller Linux Systeme
    for i in $(cut -d: -f1 /cfg2html_server/cfg2html_linux/ALL_HWINFO); 
    do 
    /cfg2html_server/cfg2html_linux/start_cfg2html.sh -a $i ; 
    done
    
    #Sammeln aller SUN Systeme
    for i in $(cut -d: -f1 /cfg2html_server/cfg2html_sun/ALL_HWINFO); 
    do 
    /cfg2html_server/cfg2html_sun/start_cfg2html.sh -a $i ; 
    done
    
    #Kopieren der Dateien auf den Webserver
    scp -r /cfg2html_server/docs/ ${WEBSERVER}:/opt/lampp/htdocs/
    
    #Löschen der Dateien auf dem Sammelserver
    rm -r /cfg2html_server/docs/
    
    aber wenn die Parameter -a -x gesetzt sind immer nur einer, also z.B.:
    Code:
    /cfg2html_server/cfg2html_SYSTEM/start_cfg2html.sh -a SERVERNAME ; 
    
    Dank euch für eure Hilfe, hoffe mein Text ist verständlich !
     
  6. #5 Schlaubi_fi.de, 13.09.2005
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    "case" ist das Stichwort...
     
  7. #6 PhoenixDH, 13.09.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Habs hinbekommen, danke !
    Hatte nur mit der Syntax Probleme !
     
  8. #7 Wolfgang, 13.09.2005
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Kleiner Tipp:
    Wenn es fehlerunanfällig und portabel sein soll,
    würde ich dir mal
    man getopt
    empfehlen.
    case in Verbindung damit macht es dann.
    Gruß Wolfgang
     
Thema:

Datei zeilenweise auslesen und Befehl ausführen

Die Seite wird geladen...

Datei zeilenweise auslesen und Befehl ausführen - Ähnliche Themen

  1. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...
  2. Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

    Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql: Hallo Eventuell kann mir jemand bei meinem Problem helfen. Ich habe mich irgendwie total verrannt und komme nicht weiter. Die folgende...
  3. in eine Datei zeilenweise reinschreiben

    in eine Datei zeilenweise reinschreiben: Hallo, bin gerade am Verzweifeln, denn alles, was sonst immer funktionierte geht plötzlich nicht mehr. mein Code: cat table1 | while read...
  4. Datei zeilenweise schreiben

    Datei zeilenweise schreiben: Hallo, ist es mit Bash Mitteln irgendwie möglich, eine Datei mit schreibenden Zugriff zu öffnen, Zeile für Zeile rausschreiben und sie dann...
  5. Zeilenweise Mittelwert aus 3 Dateien

    Zeilenweise Mittelwert aus 3 Dateien: Hallo liebe Unix-Community! Als vollkommener Linux Neuling habe ich starke probleme ein wohl relativ einfaches Skript zu schreiben. Ich...