ssh ruiniert while-Schleife

11/01/2012 - 10:42 von tobias.freyberg | Report spam
Dieses sinnfreie Beispiel soll mein Problem verdeutlichen.

#!/bin/ksh
echo "123"|while read WERT
do
echo "${WERT}"
ssh localhost "echo SSH"
done

Ohne den ssh-Aufruf gibt das Skript, wie erwartet.
1
2
3
aus.
Aber wenn ssh ins Spiel kommt ist nach
1
SSH
Schluss. Was geht da schief?
Wenn man die Schleife in "for WERT in 1 2 3" abàndert klappts.

Für einen Tipp wàre ich Euch dankbar.

P.S.:
SunOS rechner 5.10 Generic_144488-06 sun4u sparc SUNW,SPARC-Enterprise
/bin/ksh teilt mir seine Version leider nicht mit.
 

Lesen sie die antworten

#1 Joerg Mertens
11/01/2012 - 13:00 | Warnen spam
"" writes:

Dieses sinnfreie Beispiel soll mein Problem verdeutlichen.

#!/bin/ksh
echo "123"|while read WERT
do
echo "${WERT}"
ssh localhost "echo SSH"
done

Ohne den ssh-Aufruf gibt das Skript, wie erwartet.
1
2
3
aus.
Aber wenn ssh ins Spiel kommt ist nach
1
SSH
Schluss. Was geht da schief?
Wenn man die Schleife in "for WERT in 1 2 3" abàndert klappts.



ssh frisst die Werte aus der Pipe, da es ebenfalls von stdin
liest. Ändere den Aufruf in

ssh localhost "echo SSH" </dev/null

dann geht's.

Jörg

Ähnliche fragen