"$ env"> | / dev / null, что здесь делают знак перенаправления и конвейер? - PullRequest
0 голосов
/ 06 апреля 2020

Эта команда из https://help.github.com/en/github/authenticating-to-github/working-with-ssh-key-passphrases#auto -launching-s sh -agent-on- git -for- windows, раздел "Автозапуск s sh - агент на Git для Windows ". Для одного знака перенаправления, за которым следует устройство, я знаю, что оно делает. Для одного трубопровода я знаю, что он делает. Когда они вместе, я запутался !! Может ли кто-нибудь объяснить "$ env"> | / dev / null ?? почему "> |"

1 Ответ

0 голосов
/ 06 апреля 2020

Существует опция noclobber в наборе :

Опция noclobber доступна, чтобы избежать перезаписи существующих файлов с перенаправлением вывода (см. Построение набора). '> |' оператор переадресации может использоваться для переопределения noclobber.

и перенаправление вывода в bash ручных документах: :

Если оператор перенаправления равен ' > ', и опция noclobber для встроенной функции set была включена, перенаправление не будет выполнено, если существует файл, имя которого является результатом расширения слова и является обычным файлом. Если оператор перенаправления «> |» или оператор перенаправления «>» и опция noclobber не включена, перенаправление выполняется даже в том случае, если существует файл, названный словом.

Но я думаю, что вики Грега более четко объясняют noclobber .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...