Здравствуйте.В начале bash-скрипта хочу единожды перенаправить stdout и stderr в отдельные файлы.
Сейчас в скрипте много громоздких команд с пайпами и перенаправлениями, и каждую приходится завершать перенаправлением незадействованного потока в соответствующий лог-файл. Нельзя ли для всего скрипта назначить stdout и stderr, чтобы потом всё неперенаправленное сливалось туда?
Например :
#####################################
#!/bin/sh
??? STDOUT="/root/stdout.txt"
??? STDERR="/root/stderr.txt"
/bin/ls
/bin/nosuchfile
#####################################
Скрипт при запуске не должен вывести ни строчки. Вывод и ошибки должны быть в файлах.
Простейшее решение запускать весь скрипт с перенаправлениями типа
./script.sh > /root/stdout.txt 2> /root/stderr.txt
мне известно. Хотелось бы обойтись без этого.
Как это сделать?