while 循环中使用ssh命令自动退出
2014-01-02 by dongnan
环境描述
文本文件:
cat hosts.txt
# 返回结果
10.0.0.1
...
10.0.10
脚本内容:
#!/bin/bash
while read line;do
echo $line;
ssh $line "some command";
done < hosts.txt
问题描述
shell
脚本使用while
循环取文本文件,文本文件每行一个ip
共10
行,
while
循环内每次通过ssh
执行一些命令,发现ssh
命令只执行一次就会自动退出shell
脚本。
解决方法
修改脚本,添加一个输入重定向:
#!/bin/bash
while read line;do
echo $line;
ssh $line "some command" < /dev/null; # 这里
done < hosts.txt
这样 while
循环可以遍历全部的主机了。