最近在看一些同事之前写的脚本,发现有很多地方用
</dev/null 而不是 >/dev.null之类的
就一直在网上搜</dev/null的用法,费了半天劲,总算找到几个靠谱的答案
记录一下,留作纪念
http://blog.csdn.net/mgxcool/article/details/47136431
ssh命令导致shell退出
1. ssh命令在每次执行时,会读取所有的标准输入中的内容。
2. 对于while循环,当按照如下方式使用时:
cat file | while read line
这里使用重定向,将文件内容输入到while命令,while命令每次使用read从输入中读取一行数据。
问题就在这里,如果在while循环中调用了ssh命令,那么ssh就会把当前输入中所有的数据读走,也就是cat file重定向给while命令的数据,都被ssh命令读走了,以至于下次循环的时候,read读到的内容为空,导致循环提前结束。
解决这个问题两种方式
1. ssh -n 使用-n参数
2. ssh xxxx < /dev/null重定向shell命令的输入
编辑回复