Ожидание не ожидает остановки всех дочерних процессов. Это мой сценарий:
#!/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 до конца? (Файл журнала перезаписывает предыдущий запуск, поэтому я не могу просто проверить наличие файла журнала, так как он всегда есть)
Спасибо,
Dan