Я пытаюсь использовать тройник, чтобы сохранить вывод в файл как:
myapp | tee log.txt
Но у меня проблема с проверкой выхода. Предыдущий код:
myapp if [ $? -eq 0 ] then .....
Но $? будет выход из ти! Возможно ли поймать выход из myapp? Спасибо.
Для bash есть удобный специальный массив: PIPESTATUS.Код возврата для myapp будет в $ {PIPESTATUS [0]} и т. Д.
myapp
zsh имеет примерно идентичный метод.делайте это в строгих оболочках Борна, о которых вы можете прочитать в FAQ по comp.unix.shell .
Использование PIPESTATUS
myapp | tee log.txt if [ $PIPESTATUS[0] -eq 0 ] then .....
вместо этого вы можете перенаправить вывод в файл:
$ myapp > log.txt