【发布时间】:2025-12-19 07:10:16
【问题描述】:
我编写了一个 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: user1@192.168.56.232
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
$
为什么会有这样的行为,我该如何解决?
【问题讨论】: