Так создаёшь независимый канал вывода, который не конфликтует с обычным
stdout и stderr. Скрипт продолжает вести себя чисто снаружи, а логи работают корректно.Теперь логирование становится явным и контролируемым, сам решаешь, что писать в лог:
echo "start job" >&3
Это удобно в скриптах, которые используются как часть пайплайна или вызываются другими инструментами.
Ошибки можно направлять в лог точечно, не меняя глобальную логику вывода:
some_command 2>&3
stdout команды остаётся доступным дальше, а stderr фиксируется для диагностики.В конце корректно закрываем файловый дескриптор:
exec 3>&-
🔥 Так лог гарантированно сбрасывается и не держит файл открытым дольше, чем нужно.
🚪 Linux Ready | #совет
