Написах bash скрипт, който трябва да чете потребителски имена и IP адреси от файл и да изпълнява команда върху тях чрез ssh.
Това е hosts.txt:
user1 192.168.56.232
user2 192.168.56.233
Това е myScript.sh:
cmd="ls -l"
while read line
do
set $line
echo "HOST:" $1@$2
ssh $1@$2 $cmd
exitStatus=$?
echo "Exit Status: " $exitStatus
done < hosts.txt
Проблемът е, че изпълнението изглежда спира, след като първият хост е готов. Това е резултатът:
$ ./myScript.sh
HOST: [email protected]
total 2748
drwxr-xr-x 2 user1 user1 4096 2011-11-15 20:01 Desktop
drwxr-xr-x 2 user1 user1 4096 2011-11-10 20:37 Documents
...
drwxr-xr-x 2 user1 user1 4096 2011-11-10 20:37 Videos
Exit Status: 0
$
Защо се държи така и как мога да го поправя?