Что делает перенаправление с> | делать?


16

Когда вы должны использовать >|для перенаправления вывода в файл, а не просто >?

Объяснение, которое было дано, когда мне показали, что оно гарантировало, что целевой файл был обрезан первым. Но я думал, что >уже подразумевал это.

Это >|полезно?

Ответы:


16

Это явный обход noclobberопции.

Таким образом, вы можете перезаписать файл даже с помощью noclobberset.

Смотрите http://mywiki.wooledge.org/NoClobber

От man bash:

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


8

От man bash:

         -C      If set, bash does not overwrite an  existing  file  with
                  the  >,  >&,  and <> redirection operators.  This may be
                  overridden when creating output files by using the redi
                  rection operator >| instead of >.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.