У меня есть скрипт, который вызывает ряд других скриптов установки
./script1.sh 2>&1 | tee script1.log<br>
./script2.sh 2>&1 | tee script2.log<br>
./script3.sh 2>&1 | tee script3.log<br>
Все они выглядят нормально до последнего, который вызывает пользовательский скрипт инициализации. Этот скрипт инициализации запускает daemon
как /usr/local/daemon
&. т.е. ставит это на задний план.
Объедините это с использованием tee
и основной сценарий зависнет, так как окончательный tee
никогда не завершится.
Скрипт инициализации - это приложение .NET, работающее в режиме моно, поэтому я очень мало контролирую его. Если я не использую tee
то все выглядит хорошо. Запуск последней команды из командной строки имеет тот же эффект.
Если бы кто-нибудь мог предложить способ сделать скрипт чистым, я был бы благодарен. На данный момент я переместил вызов сценария инициализации из script3 в родительский сценарий, и он работает нормально, но, конечно, он не зарегистрирован.