Bash необходимо STDOUT + STDERR в журнале, и STDERR к своему обычному месту назначения - PullRequest
1 голос
/ 29 марта 2012

Это задание cron, и вывод в STDERR приводит к уведомлению по электронной почте об ошибке, которая мне нужна. Однако ошибки могут быть нефатальными, поэтому мне также необходимо, чтобы вывод STDERR был включен в журнал с помощью STDOUT. Как?

Ответы [ 2 ]

1 голос
/ 29 марта 2012

ОК, я потратил несколько минут на то, чтобы сделать это, используя только стандартную командную строку оболочки.

Подготовьтесь к нелепой командной строке.Я могу сказать об этой мерзости, что она работает ... и я не могу найти ничего более простого, что также работает.О, и это не требует bash или чего-то еще.Он работает в стандартной оболочке Bourne.

Понятия не имею, почему в конце должно быть | cat, но без него не работает.

0 голосов
/ 04 марта 2013

Следующая команда работает с меньшим количеством символов:

((./your-script 3>&1 1>&2 2>&3- | tee /dev/fd/2) 3>&1 1>&2 2>&3- ) | cat > logfile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...