bash脚本中的ssh退出循环

时间:2017-12-17 18:32:30

标签: bash ssh stdin

我正在尝试在几个远程主机上运行一些命令。我在文件ips.txt中有他们的ips列表(每行一个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行,它会打印所有的ips。

1 个答案:

答案 0 :(得分:3)

ssh从stdin(ip​​s.txt)读取所有内容。

替换

ssh

ssh -n

请参阅:man ssh