【发布时间】:2013-02-14 15:26:05
【问题描述】:
我有一个使用 SSH 在远程服务器上创建目录的简单脚本:
while read memberName; do
ssh ${serverPath} "mkdir -p ${filePath}"
wait
done < sqlRes.txt
(我已经简化了一点 - 这些变量确实存在并且很好)。
如果我让每个 SSH 调用都成为后台作业(使用 &),它会更好但不完全(它应该创建 200 个目录,例如,只做 170 个)。
事实上,它在sqlRes.txt中的第一个条目之后退出循环,没有错误消息并且返回成功状态。
我尝试过 sleep 和 wait 命令,但都没有帮助。
我猜可能存在子shell 的限制,但我认为“等待”应该确保在我尝试下一个之前关闭每个子shell?
有什么想法吗?
仅供参考 - Linux RedHat 中的 ksh
【问题讨论】: