LINUX.ORG.RU

История изменений

Исправление anc, (текущая версия) :

Известная проблема, имхо возникает из-за слова «перенаправление» хотя на самом деле это не совсем так, точнее так, но само слово по другому воспринимают. Есть дескрипторы stdout 1 и stderr 2 например изначально они связаны с файлом /dev/tty1,
1 - /dev/tty1
2 - /dev/tty1
выполнив 2>&1, дескрптор 2 связывается с файлом указанным у дескриптора 1, т.е. табличка не меняется
1 - /dev/tty1
2 - /dev/tty1
далее вы выполняете 1>/dev/null, результат
1 - /dev/null
2 - /dev/tty1
или что бы нагляднее, изначально 1>/tmp/filename
1 - /tmp/filename
2 - /dev/tty1
после 2>&1
1 - /tmp/filename
2 - /tmp/filename
после 1>/dev/null
1 - /dev/null
2 - /tmp/filename

многие же это воспринимают по другому, типа после выполнения 2>&1 это становиться цепочкой 2 -> 1 -> /dev/tty1 что не верно.

Исходная версия anc, :

Известная проблема, имхо возникает из-за слова «перенаправление» хотя на самом деле это не совсем так. Есть дескрипторы stdout 1 и stderr 2 например изначально они связаны с файлом /dev/tty1,
1 - /dev/tty1
2 - /dev/tty1
выполнив 2>&1, дескрптор 2 связывается с файлом указанным у дескриптора 1, т.е. табличка не меняется
1 - /dev/tty1
2 - /dev/tty1
далее вы выполняете 1>/dev/null, результат
1 - /dev/null
2 - /dev/tty1
или что бы нагляднее, изначально 1>/tmp/filename
1 - /tmp/filename
2 - /dev/tty1
после 2>&1
1 - /tmp/filename
2 - /tmp/filename
после 1>/dev/null
1 - /dev/null
2 - /tmp/filename

многие же это воспринимают по другому, типа после выполнения 2>&1 это становиться цепочкой 2 -> 1 -> /dev/tty1 что не верно.