在Linux

时间:2017-04-27 09:04:07

标签: bash

我正在使用以下方法通过脚本读取文件并将其存储在myArray

while IFS=$'\t' read -r -a myArray do "do something" done < file.txt echo "ALL DONE"

现在在“做某事”区域我正在使用ssh上的一些命令

ssh user@$SERVER "some command"

但问题是在为file.txt的第一行执行此操作后,脚本会停止进一步读取文件并跳到下一步,即获取输出

ALL DONE

但是我没有使用ssh上的命令,而是使用脚本运行文件的本地命令。我不确定为什么会这样。有人可以建议我需要做什么吗?

1 个答案:

答案 0 :(得分:0)

您必须尝试从manpage

向ssh提供-n Redirects stdin from /dev/null (actually, prevents reading from stdin). This must be used when ssh is run in the background. A common trick is to use this to run X11 programs on a remote machine. For example, ssh -n shadows.cs.hut.fi emacs & will start an emacs on shadows.cs.hut.fi, and the X11 connection will be automatically forwarded over an encrypted channel. The ssh program will be put in the background. (This does not work if ssh needs to ask for a password or passphrase; see also the -f option.) 标记
{{1}}