bash脚本中的ssh退出循环[重复]

问题描述 投票:2回答:1

这个问题在这里已有答案:

我试图在几个远程主机上运行一些命令。我在文件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。

bash ssh stdin
1个回答
3
投票

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

更换

ssh

ssh -n

见:man ssh