Bash while read Line Problem Frage
Hallo,
ich hab mal eine kleine Verständnisfrage -problem mit einer while read Line Schleife unter Linux.
Ich habe folgendes Skript:
'! /bin/bash
DATEI1=host1.txt
DATEI2=host2.txt
if [ $1 = "1" ]; then
while read LINE; do
rsh $LINE -l root "/tmp/./skript.sh"
done < $DATEI1
elif [ $1 = "2" ]; then
while read LINE; do
ping -c 2 $LINE
done < $DATEI2
fi
wenn ich das Skript mit der Variablen 2 starte, pingt es alle PCs in der host2.txt Datei durch. Es geht.
Wenn ich aber es mit der Variablen 1 starte, führt es nur den rsh-Befehl beim ersten PC aus und bricht dann ohne Fehlermeldung ab. Auch ein set -x hat mir keine weiteren Erkenntnisse gebracht.
Warum bricht das Skript nach dem ersten rsh-Befehl ab und beim pingen macht es was es soll?
Danke
ich hab mal eine kleine Verständnisfrage -problem mit einer while read Line Schleife unter Linux.
Ich habe folgendes Skript:
'! /bin/bash
DATEI1=host1.txt
DATEI2=host2.txt
if [ $1 = "1" ]; then
while read LINE; do
rsh $LINE -l root "/tmp/./skript.sh"
done < $DATEI1
elif [ $1 = "2" ]; then
while read LINE; do
ping -c 2 $LINE
done < $DATEI2
fi
wenn ich das Skript mit der Variablen 2 starte, pingt es alle PCs in der host2.txt Datei durch. Es geht.
Wenn ich aber es mit der Variablen 1 starte, führt es nur den rsh-Befehl beim ersten PC aus und bricht dann ohne Fehlermeldung ab. Auch ein set -x hat mir keine weiteren Erkenntnisse gebracht.
Warum bricht das Skript nach dem ersten rsh-Befehl ab und beim pingen macht es was es soll?
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 139591
Url: https://administrator.de/contentid/139591
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
3 Kommentare
Neuester Kommentar