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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash脚本中的ssh退出循环[重复]相关的知识,希望对你有一定的参考价值。

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

我试图在几个远程主机上运行一些命令。我在文件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(ip​​s.txt)读取所有内容。

更换

ssh

ssh -n

见:man ssh

以上是关于bash脚本中的ssh退出循环[重复]的主要内容,如果未能解决你的问题,请参考以下文章

While循环重置Bash脚本中的数字变量[重复]

ssh在bash中打破while循环[重复]

ssh在bash中打破while循环[重复]

如果语句过早退出Bash脚本循环

为啥在linux shell中ssh远程执行脚本时退出[重复]

shell脚本编程循环之for/while/untill循环