Я пишу скрипт bash, который по умолчанию хочу вывести все в файл журнала. Тем не менее, я также хочу, чтобы возможность выводить его на вызывающий терминал по запросу (например, параметр) INSTEAD из файла журнала (так что я думаю, что tee
). Кто-нибудь знает простой способ сделать это?Перенаправить вывод сценария в файл журнала ИЛИ терминал по запросу
Было бы неплохо, если бы параметр мог быть произвольным файлом журнала или ссылкой на вызывающий терминал.
Я имею в виду вдоль линий этого: (псевдокод)
#!/bin/bash
if [ ! $1 ]; then
OUT="default.log"
else
OUT=$1
fi
#then do this to every call in the script
commands [param] [param] >> ${OUT}
Я думаю, больше того, что я спрашиваю, есть ли простой способ для ссылки на текущий терминал для выхода в? Так что я мог бы сделать ./script.sh
, ./script.sh custom.log
или script.sh TERMINAL
?
Ах, это именно то, что я искал. Прошло некоторое время с тех пор, как я создал скрипты bash. (изменить: не удается принять ответ в течение 7 минут) – tj111
Следует иметь в виду, что '/ dev/stdout' не находится в спецификации Single UNIX, версия 3. Более переносным выбором будет'/dev/tty', который находится в стандарт. –