On Wed, Mar 25, 2009 at 11:42:43PM +0200, Yura Kalinichenko wrote: > exec 2>&- Так делать нельзя. Если нужно подавить вывод в stderr, используйте exec 2>/dev/null, но не закрытие дескриптора 2. Также не следует закрывать дескрипторы 0 и 1. Проблема с закрытием стандартных дескрипторов в том, что для файлов, открываемых в дальнейшем, будут назначаться минимальные номера из доступных - т.е., после закрытия дескриптора 2 следующий файл, открываемый программой, запущенной из этого экземпляра shell, получит номер дескриптора 2, и в него может попасть вывод, который должен был быть направлен в stderr. Авторы большинства программ не заботятся о защите от подобных ошибок.