Hallo zusammen!
Ich stehe wieder einmal vor einem Problem, dass ich nicht mal ansatzweise verstehe. Ich habe in einem größerem Script länger gesucht, warum eine while-Schleife nur einmal durchlaufen wird, obwohl sie das eigentlich viele Male tun sollte. Mein Schluss: Ein rsh-Kommando ist schuld daran, obwohl dieses korrekt beendet wird. Folgender Versuchsaufbau soll das ganze verdeutlichen:
Die Ausgabe ist komischerweise:
Wenn man den rsh auskommentiert erhält man folgendes:
Warum???
Noch ein paar Anmerkungen:
- Statt while einen for nehmen funktioniert. Trotzdem will ich wissen warum
- damit der rsh kein passwort verlangt, habe ich mich in die Datei $HOME/.rhosts eingetragen
Ich stehe wieder einmal vor einem Problem, dass ich nicht mal ansatzweise verstehe. Ich habe in einem größerem Script länger gesucht, warum eine while-Schleife nur einmal durchlaufen wird, obwohl sie das eigentlich viele Male tun sollte. Mein Schluss: Ein rsh-Kommando ist schuld daran, obwohl dieses korrekt beendet wird. Folgender Versuchsaufbau soll das ganze verdeutlichen:
Code:
hostname -s > rechner.txt
hostname -s >> rechner.txt
cat rechner.txt | while read host
do
echo vor rsh
rsh $host "echo rsh-test"
echo RETC $?
done
echo nach for
rm rechner.txt
Code:
vor rsh
rsh-test
RETC 0
nach for
Code:
vor rsh
RETC 0
vor rsh
RETC 0
nach for
Warum???
Noch ein paar Anmerkungen:
- Statt while einen for nehmen funktioniert. Trotzdem will ich wissen warum
- damit der rsh kein passwort verlangt, habe ich mich in die Datei $HOME/.rhosts eingetragen