Я могу настроить удар на Linux для записи копии всего stdout и stderr в регулярный файл, не имея необходимость указывать перенаправление для каждой команды?
Спасибо, Кент
Если вы пишете сценарий, я бы рекомендовал написать функцию оболочки и перенаправить ее вывод. Тогда вам не придется перенаправлять каждую команду этой функции. В любом случае, я не вижу смысла в перенаправлениях в интерактивной оболочке.
Команда exec
, если ей не дана команда для выполнения, применяет свои перенаправления к текущей оболочке. Однако в моем тестировании это, похоже, не так хорошо работает с трубами. Я бы предложил использовать подоболочку, которую вы можете перенаправить в обычном режиме.
(
echo hello
echo hello err >&2
) 2>&1 | tee logfile.txt
Если вам нужна только стенограмма, а не непрерывный тройник, подойдет exec> & logfile
.
Кроме того, традиционным приемом является использование инструмента удаленного входа в систему (ssh или telnet), подключенного к tee, для создания журнала интерактивного сеанса. Экран также поддерживает ведение журнала.
Вы можете использовать скрипт
для создания журнала сеанса оболочки