З посібника з риби:
[Файловий дескриптор може бути] ампресолею, а потім знаком мінус (& -). Дескриптор файлу буде закритий
З Вікі Арки:.
Тихий стандартний вихід: $ command> & -
З цього я очікував, що він буде діяти як псевдонім для /dev/null
, але швидкий експеримент в командному рядку виявляє, що це не так:
$ echo hello >&-
Error while writing to stdout
write_loop: Bad file descriptor
Крім того, як не дивно, якщо ми додамо пробіл до &, ми отримаємо різні помилки:
$ echo hello > &-
Expected a string, but instead found a '&'
Що на землі відбувається тут? Я бігаю рибою 2.2.0
3
Документація, яку ви цитували, говорить, що вона закрита . Запис у дескриптор закритого файлу генерує помилку, про яку повідомляється (на стандартній помилці звичайно - інший дескриптор файлу).
—
Томас Дікі