在while循环中使用SSH

时间:2013-02-28 12:24:57

标签: ssh wait ksh

我有一个简单的脚本,可以使用SSH在远程服务器上创建目录:

    while read memberName; do
        ssh ${serverPath} "mkdir -p ${filePath}"
        wait
    done < sqlRes.txt

(我对它进行了简化 - 这些变量确实存在且很好)。

如果我将每个SSH调用作为后台作业(使用&amp;),它会更好但不完全(它应该创建200个目录,例如只执行170个目录)。

实际上,它在sqlRes.txt中的第一个条目之后退出循环,没有错误消息和成功的返回状态。

我已经尝试过睡眠并等待命令,但都没有帮助。

我猜测可能存在子弹的限制,但我认为“等待”应该确保在我尝试下一个之前每个都关闭?

请问任何想法?

FYI - Linux RedHat中的ksh

1 个答案:

答案 0 :(得分:1)

抱歉 - 经过多次搜索后找到了答案(ssh是交互式的并接受了所有输入。更改为'ssh -n',一切正常)。