Consider such code:
echo hello >> log.txt
echo world >> log.txt
I execute command with stdout redirection. Is it possible to create sticky redirection? Something like this:
redir stdout log.txt
echo hello
echo world
stop-redir
This would be equivalent to the first piece code.
What I really need — make such sticky redirection for stdout and stderr (at the same time), execute some commands, stop redirection, and read log file.
Best Answer
I.e.: make file descriptors 3 and 4 copies of the current 1 (stdout) and 2 (stderr), redirect 1 to log.txt and 2 to the same as 1; then perform commands; then restore stdout and stderr from the saved values in file descriptors 3 and 4.