Дубликат stderr в unix, кш специально - PullRequest
0 голосов
/ 17 апреля 2011

Я пишу ksh-скрипты.Поскольку я не могу управлять планировщиком заданий или получать доступ к его журналам, я веду журнал:

exec 2>>logfile  1>&2 

в начале файла и использую для ведения журнала:

echo "good job"

Для быстрой проверки файлов журналов на наличиеошибки, как я могу дублировать stderr в файл журнала и файл ошибок?Я представляю что-нибудь с новыми файловыми дескрипторами или тройником или tty?

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 апреля 2011

Делая:

echo "good job" | tee errorlog

Вы вернетесь к выводу скрипта по умолчанию (файл журнала, я полагаю), и сообщение также будет продублировано в "errorlog".

Спасибо

0 голосов
/ 25 июня 2011

Каждый раз, когда вы пытаетесь повторно использовать стандартные файловые дескрипторы, такие как:

<cmd> 1>err 2>>err 1>out

Переписывается определение первого определения. То есть 1 теперь указывает только на out, а 2 на err. Лучше всего было бы использовать два отдельных файла (например, err и out), помечать временные метки выходных данных и сортировать их самостоятельно, чтобы получить комбинированный вывод.

...