сценарий оболочки + одна синтаксическая команда в сценарии для отправки ошибок в журнал - PullRequest
2 голосов
/ 09 августа 2010

У меня есть test.ksh скрипт

мой вопрос, возможно ли определить в первом скрипте, что все стандартные ошибки будут идти в файл /tmp/errlog на месте, чтобы ставить 2>/tmp/errlog после каждой командыи т. д.

секунд не предлагайте опцию поставить ./test.ksh 2>/tmp/errlog не актуально

лида

1 Ответ

3 голосов
/ 09 августа 2010

Попробуйте exec 2> /tmp/error.log.

Из руководства :

exec [ -c ] [ -a имя ] [ arg .,,]

Если задано arg , команда, указанная в аргументах, выполняется вместо этой оболочки без создания нового процесса.Опция -c приводит к очистке среды перед применением назначений переменных, связанных с вызовом exec .Опция -a заставляет имя вместо первого arg становиться

argv [0] дляновый процесс.Аргументы ввода / вывода могут появляться и влиять на текущий процесс.Если arg не задано, результатом этой команды является изменение файловых дескрипторов, как предписано списком перенаправления ввода / вывода.В этом случае любые номера файловых дескрипторов, которые больше 2, открываются с помощью этого механизма, закрываются при вызове другой программы.

...