在while循环中调用了ssh命令,那么ssh就会把当前输入中所有的数据读走,也就是cat file重定向给while命令的数据,都被ssh命令读走了,以至于下次循环的时候,read读到的内容为空,导致循环提前结束。
解决这个问题两种方式
whlie read line
do
ssh xxxx $line < /dev/null 重定向shell命令的输入 (不重定向就只能执行一行了)
done < filename
原文:https://www.cnblogs.com/lsgo/p/12670398.html