Когда STDERR перенаправляется, например, в файл, как его можно перенаправить обратно в исходный дескриптор файла 2?
#!/bin/sh
exec 2>/tmp/err
print -u2 'log errors to file'
exec 2>&2 (how do we do this???)
print -u2 'log errors to console'
контекст
Это решение для перенаправления должно работать в режиме cron. Например, если cron выполняет внешний скрипт, он будет перенаправлять stdout и stderr в соответствующие файлы журнала и ошибок, соответственно. Однако, если выполнение скрипта завершается неудачно или что-то нужно сообщить владельцу задания, мне нужно вывести сообщения об ошибках, чтобы cron получал их и отправлял почту.