while-Schleife bricht bei ssh ab

25/03/2008 - 11:16 von Michael Stricker | Report spam
Was macht ssh (Solaris 5.9,5.10) so besonderes, so daß eine
while-Schleife abgebrochen wird?

Liste mit hosts in einer Datei

h1
h2
h3

jetzt ein Programm, was eine Liste von Hosts ausliest und damit per ssh
ein Script ausführen soll:

-
#!/bin/sh

list=$1
user=irgendein_user

while read host
do
ssh $host -l user ". \$HOME\.profile;/bin/ksh $HOME/script"
done <$list

echo "Fertig"
-

Jetzt habe ich das Phànomen, daß dieses Script nur den ersten Host
richtig von der Datei einliest, aber dann die while-Schleife beendet
wird. Selbst wenn ich den ssh-Aufruf in ein separates Script packe, und
mit einem anderem Script in der Schleife aufrufe, wird es nach dem
Einlesen des ersten Parameters beendet.

Warum, bzw. was mache ich falsch?
 

Lesen sie die antworten

#1 Alexander Bartolich
25/03/2008 - 11:29 | Warnen spam
Michael Stricker schrieb:
[...]
#!/bin/sh

list=$1
user=irgendein_user

while read host
do
ssh $host -l user ". \$HOME\.profile;/bin/ksh $HOME/script"


^ ^ ^
| | |
Da fehlt ein $ + | |
Da gehört ein Vorwàrtsschràgstrich hin. |
Da fehlt ein Rückwàrtsschràgstrich -+

done <$list

echo "Fertig"
-

Jetzt habe ich das Phànomen, daß dieses Script nur den ersten Host
richtig von der Datei einliest, aber dann die while-Schleife beendet
wird.



Ein "set -o errexit" würde das erklàren.
Das ließe sich mit beheben.

ssh ... || echo "exit-status von ssh = $?"

http://news.albasani.net/

Ähnliche fragen