Cosa significa reindirizzamento con> | fare?


16

Quando si dovrebbe utilizzare >|per reindirizzare l'output su un file anziché solo >?

La spiegazione data quando mi è stato mostrato questo è che ha garantito che il file di destinazione fosse troncato per primo. Ma pensavo >già implicito che.

È >|utile?

Risposte:


16

È un bypass esplicito noclobberdell'opzione.

In questo modo, puoi sovrascrivere il file anche con noclobberset.

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

Da man bash:

Se l'operatore di reindirizzamento è> e l'opzione noclobber per l'insieme incorporato è stata abilitata, il reindirizzamento avrà esito negativo se il file il cui nome deriva dall'espansione di word esiste ed è un file normale. Se l'operatore di reindirizzamento è> | o l'operatore di reindirizzamento è> e l'opzione noclobber al comando incorporato set non è abilitata, il reindirizzamento viene tentato anche se esiste il file denominato da word.


8

Da 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 >.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.