我想在几台远程主机上运行一些命令。我有一个文件ips.txt
,里面列出了它们的IP地址(每行一个IP地址)。
#!/bin/bash
while IFS= read -r wip; do
echo $wip
ssh root@$wip "pkill pgm; cd /root/pgm; nohup ./pgm > /dev/null 2>&1 &"
echo "$wip end"
done < ips.txt
我正在运行上面那个脚本。但问题是,在读取第一个IP后,循环就退出了。但如果我移除ssh那一行,它会打印出所有的IP。