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

Re: Bash-Skript, while-Schleife mit ssh



Tach auch! ;)

2011/3/22 Axel Birndt <towerlexa@gmx.de>

>> Mache:
>>
>> while read varzeile
>> do
>>   # Nun ist die Zeile in der Variable varzeile.
>>   echo "${varzeile}"
>>   ssh user@serverurl "./befehl auf dem server mit ${varzeile}
>> übergeben"<  /dev/null
>> done<  daten.txt
>
> Die Lösung ist nur suboptimal, da dabei komplett stdin verbogen wird und es beispielsweise nicht mehr möglich ist ein PW einzugeben o.ä.

Stimmt. *ICH* brauche solche Schleifen aber, um auf vielen
Hosts eine identische Aufgabe zu erledigen. Da wäre ein
manueller Eingriff (PW eingeben, …) "tödlich".

> Außerdem ist es denkbar, dass man sich damit eine Endlosschleife gebaut hat.

Wie?

> Beispiel: Beim Connect auf den Remotehost erscheint die Frage "Public-Key" bestätigen yes/no. Wenn dannn immer Null "0" in die Eingabe geschrieben wird, kommt der Prozeß wohl nicht mehr zum Ende.

--($ ~)-- ssh lics < /dev/null
Pseudo-terminal will not be allocated because stdin is not a terminal.
The authenticity of host 'race-lics (10.0.1.46)' can't be established.
RSA key fingerprint is 78:e1:92:9d:b5:a0:f1:d6:9b:13:c7:16:8b:3d:cc:a6.
Are you sure you want to continue connecting (yes/no)? n
Please type 'yes' or 'no': no
Host key verification failed.

> Besser ist daher folgende Lösung:
>
>
>        file=/home/user/xxxxfile
>        exec 4< $file
>        while read -u 4 varzeile ;
>        do
>            echo "$varzeile";
>
>        done

Ja, die Lösung ist besser.

Alexander
--
↯    Lifestream (Twitter, Blog, …) ↣ http://alexs77.soup.io/ ;    ↯
↯ Chat (Jabber/Google Talk) ↣ a.skwar@gmail.com , AIM: alexws77  ↯


Reply to: