Когда скрипт завершается ошибкой, он не выполняет эхо "TEXT" >> FILE - PullRequest
0 голосов
/ 22 мая 2019

У меня есть скрипт, в начале и конце которого есть:

echo "start" >> log 
echo "end" >> log

Казуистика заключается в том, что когда сценарий неуправляемо завершается неудачей, я не вижу ни одной строки в файле LOGS. Однако, когда сценарий завершается правильно, журналы отображаются в журнале.

Кто-нибудь знает, почему это может быть?

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Поскольку стандартным stderr является 2, вывод журнала по умолчанию просто показывает только стандартный вывод из 1. Сделайте тест и покажите результаты.Если вы заставляете весь скрипт отправлять в журнал только одну строку, сделайте это после определения файла журнала:

log_file="/tmp/script.log"
exec >> $log_file 2>&1
0 голосов
/ 22 мая 2019

вам нужно направить вывод ошибки (2) на стандартный вывод:

echo "start" >> log 2>&1
echo "end" >> log 2>&1
...