Wait は、すべての子プロセスが停止するのを待っているわけではありません。これは私のスクリプトです:
#!/bin/bash
titlename=`echo "$@"|sed 's/\..\{3\}$//'`
screen -X title "$titlename"
/usr/lib/process.bash -verbose $@
wait
bash -c "mail.bash $@"
screen -X title "$titlename.Done"
/usr/lib/process.bashにはアクセスできませんが、頻繁に変更されるスクリプトなので参照したいのですが...そのスクリプトでは:
#!/bin/ksh
#lots of random stuff
/usr/lib/runall $path $auto $params > /dev/null 2>&1&
私の問題は、runallがログ ファイルを作成することです...そして、mail.bashがそのログ ファイルをメールで送信することになっていますが、runallが終了するのを待っているのではなく、 process.bashが終了するのを待っているだけのようです。とにかく、process.bashにアクセスせずに、または自分自身の最新バージョンのprocess.bashを維持しようとして、 runallが終了するまで待機を適切に待機させることはできますか? (ログ ファイルは前回の実行を上書きするため、常にログ ファイルが存在するため、ログ ファイルの存在を確認することはできません)
ありがとう、ダン