shell脚本while只循环一次,后续循环失效
shell脚本我们经常会用到
while read line
do#业务逻辑代码
done < 循环列表
如果这个业务逻辑过这个业务逻辑调用的方法里包含sh命令亦或是ssh命令,他会将后续循环的标准输入当做命令的输入(也就是网上说的会消耗原来提供给循环的标准输入),会导致循环只进行了一次就结束了。
解决办法:就是把/dev/null当做标准输入给sh或ssh脚本,其实我自己在使用的时候,ssh命令加上-n参数也是可以解决的。
例如:sh test.sh -w 20250807 < /dev/null
这样循环又起作用了。