1

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

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

(我已经简化了一点——这些变量确实存在并且很好)。

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

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

我试过 sleep 和 wait 命令,但都没有帮助。

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

请问有什么想法吗?

仅供参考 - Linux RedHat 中的 ksh

4

1 回答 1

1

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

于 2013-02-28T13:00:22.853 回答