Що означає перенаправлення з> | робити?


16

Коли слід використовувати >|для перенаправлення виводу у файл, а не просто >?

Пояснення, яке мені було показано, було те, що воно гарантувало, що цільовий файл спочатку скорочується. Але я думав, що це >вже мав на увазі.

Чи >|корисно?

Відповіді:


16

Це явний обхід noclobberопції.

Таким чином, ви можете перезаписати файл навіть із noclobberнабором.

Дивіться http://mywiki.wooledge.org/NoClobber

Від man bash:

Якщо оператором переадресації є>, а параметр noclobber для встановленого набору ввімкнено, перенаправлення не вдасться, якщо файл, ім'я якого в результаті розширення слова існує, є звичайним файлом. Якщо оператором переадресації є> |, або оператором перенаправлення є>, а опція noclobber для встановленої вбудованої команди не ввімкнена, спробу перенаправлення спробують, навіть якщо файл, названий словом, існує.


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.