SSH を使用してリモート サーバー上にディレクトリを作成するための簡単なスクリプトがあります。
while read memberName; do
ssh ${serverPath} "mkdir -p ${filePath}"
wait
done < sqlRes.txt
(私はそれを少し単純化しました - これらの変数は存在し、問題ありません)。
各 SSH 呼び出しを (& を使用して) バックグラウンド ジョブにすると、うまく機能しますが、完全には機能しません (たとえば、200 個のディレクトリを作成し、170 個しか実行しないはずです)。
このままでは、sqlRes.txt の最初のエントリの後でループを終了し、エラー メッセージは表示されず、ステータスが正常に返されます。
sleep コマンドと wait コマンドを試しましたが、どちらも役に立ちません。
おそらくサブシェルの制限があると思いますが、次を試す前に「待機」して各サブシェルを確実に閉じる必要があると思いましたか?
何かアイデアはありますか?
参考までに - Linux RedHat の ksh