Вчора я прочитав цей коментар ТА, який говорить про те, що в оболонці (принаймні bash) >&-"є такий самий результат, що і" >/dev/null.
Цей коментар насправді посилається на посібник ABS як джерело його інформації. Але це джерело говорить, що >&-синтаксис "закриває дескриптори файлів".
Мені не ясно, чи дві дії закриття дескриптора файлу та перенаправлення його на нульовий пристрій абсолютно рівнозначні. Тож моє запитання: вони?
На його поверхні здається, що закрити дескриптор - це як закрити двері, але перенаправити її на нульовий пристрій - це відкрити двері до кінцівки! Двоє мені не здаються абсолютно однаковими, тому що якщо я побачу закриту двері, я нічого не намагаюся викинути з неї, але якщо я побачу відкриту двері, я припускаю, що можу.
Іншими словами, я завжди замислювався про те, чи є >/dev/nullзасоби, які cat mybigfile >/dev/nullнасправді оброблять кожен байт файлу і записують його, /dev/nullякий він забуває. З іншого боку, якщо оболонка стикається із закритим дескриптором файлів, я схильна вважати (але не впевнений), що вона просто нічого не запише, хоча залишається питання, чи catвсе ще читатиме кожен байт.
Цей коментар говорить >&-і >/dev/null" повинен " бути однаковим, але це не настільки гучна відповідь для мене. Я хотів би отримати більш авторитетну відповідь із деяким посиланням на стандартне або вихідне ядро чи ні ...