дублирование вывода скрипта в файл

необходимо весь stdout одновременно выводить на консоль и в файл. tee не подходит, когда нужно менять весь скрипт.

Вставляем в начало скрипта:

exec 5>&1
npipe=test.pipe
trap "rm -f $npipe" EXIT
mknod $npipe p
tee <$npipe temp.tmp &

exec 1>&-
exec 1>$npipe

и в конце:

exec 1>&5 5>&-

все команды типа echo, находящиеся между этими двумя блоками, будут одновременно выводить и в stdout, и в файл temp.tmp

Оставьте комментарий

Мысль на тему “дублирование вывода скрипта в файл”