В уроке про базовые file-descriptors (04-pipes) ты уже видел
>, >> и |. Здесь - пять идиом которые встречаются в любом
серьёзном bash-скрипте и почему-то редко объясняются вместе:
2>и2>&1- отдельная работа со stderrtee- писать в файл и продолжать pipeline<(cmd)- process substitution, файл-как-вывод-команды- here-doc и here-string - данные прямо в скрипте
exec N>file- кастомные FD для долгоиграющих логов
Все эти операторы работают через манипуляции с целочисленными file
descriptors процесса. В норме их три: 0 (stdin), 1 (stdout),
2 (stderr). Редирект 2>file - это «открой file и сделай его
fd=2 для команды».