[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bash-Skript, while-Schleife mit ssh



Hallo,

ich habe folgendes Problem und suche nach einer Erklärung; einen
Workaround mit einer for-Schleife habe ich bereits erfolgreich getestet.
Es geht mir um das Verständnis.

Ich habe zeilenorientierte Daten, die ich mit folgenden Skript-Code
einlese. Das folgenden Beispiel durchläuft alle Zeilen einwandfrei:

cat daten.txt | while read varzeile
do
  # Nun ist die Zeile in der Variable varzeile.
  echo "${varzeile}"
done

Jetzt das Problem: Das nun folgende Beispiel durchläuft nur die erste
Zeile:

cat daten.txt | while read varzeile
do
  # Nun ist die Zeile in der Variable varzeile.
  echo "${varzeile}"
  ssh user@serverurl "./befehl auf dem server mit ${varzeile} übergeben"
done

Warum ist das so? Was macht denn der ssh-Befehl mit der while-Schleife?

Das OS, auf dem das obige Skript gestartet wird, ist Lenny. Der Befehl
SSH verbindet sich mit einem Etch-Rechner. SSH kann den user mit
bekanntem Schlüssel (ssh-copy-id) ohne einen Passwortprompt am Server
anmelden. 

Danke Markus





Reply to: