Может stdout, stderr всегда кладут для первого удара в регулярный файл?

Я могу настроить удар на Linux для записи копии всего stdout и stderr в регулярный файл, не имея необходимость указывать перенаправление для каждой команды?

Спасибо, Кент

0
задан ktenney 1 August 2010 в 14:50
поделиться

3 ответа

Если вы пишете сценарий, я бы рекомендовал написать функцию оболочки и перенаправить ее вывод. Тогда вам не придется перенаправлять каждую команду этой функции. В любом случае, я не вижу смысла в перенаправлениях в интерактивной оболочке.

1
ответ дан 4 September 2019 в 00:47
поделиться

Команда exec , если ей не дана команда для выполнения, применяет свои перенаправления к текущей оболочке. Однако в моем тестировании это, похоже, не так хорошо работает с трубами. Я бы предложил использовать подоболочку, которую вы можете перенаправить в обычном режиме.

(
   echo hello
   echo hello err >&2
) 2>&1 | tee logfile.txt

Если вам нужна только стенограмма, а не непрерывный тройник, подойдет exec> & logfile .

Кроме того, традиционным приемом является использование инструмента удаленного входа в систему (ssh или telnet), подключенного к tee, для создания журнала интерактивного сеанса. Экран также поддерживает ведение журнала.

1
ответ дан 4 September 2019 в 00:47
поделиться

Вы можете использовать скрипт для создания журнала сеанса оболочки

4
ответ дан 4 September 2019 в 00:47
поделиться