Co oznacza przekierowanie za pomocą> | robić?


16

Kiedy należy użyć >|do przekierowania wyjścia do pliku zamiast po prostu >?

Wyjaśnienie podane, gdy mi pokazano, było takie, że gwarantowało to, że plik docelowy został najpierw obcięty. Ale myślałem, że >już to sugerowało.

Jest >|użyteczny?

Odpowiedzi:


16

To wyraźne obejście noclobberopcji.

W ten sposób możesz zastąpić plik nawet przy pomocy noclobberset.

Zobacz http://mywiki.wooledge.org/NoClobber

Od man bash:

Jeśli operatorem przekierowania jest>, a opcja noclobber do wbudowanego zestawu została włączona, przekierowanie zakończy się niepowodzeniem, jeśli plik, którego nazwa wynika z rozwinięcia słowa, istnieje i jest zwykłym plikiem. Jeśli operatorem przekierowania jest> | lub operatorem przekierowania jest> i opcja noclobber dla wbudowanej komendy set nie jest włączona, nastąpi próba przekierowania, nawet jeśli plik o nazwie słowo istnieje.


8

Od 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 >.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.