Bash сам выделяет свободный файловый дескриптор и кладёт его номер в переменную:
echo "start script" >&$FD
Теперь можно писать диагностические сообщения напрямую в файл через выделенный FD, не повторяя
>>debug.log у каждой команды.:some_command
another_command
echo "done" >&$FD
Основные команды продолжают писать в stdout/stderr (терминал), а служебный вывод уходит в
debug.log:exec {FD}>&-FD закрывается явно => файл корректно закрыт, без утечек.
🔥 Выделенные файловые дескрипторы в bash позволяют аккуратно разделять основной вывод и служебные логи внутри одного скрипта.
🚪 Linux Ready | #совет
