这个问题在这里已有答案:
我试图在几个远程主机上运行一些命令。我在文件ips.txt
(每行一个ip)中列出了他们的ips。
#!/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行,它会打印所有的ips。
ssh
从stdin(ips.txt)读取所有内容。
更换
ssh
同
ssh -n
见:man ssh