¿Qué hace la redirección con> | ¿hacer?

16

¿Cuándo debería usar >|para redirigir la salida a un archivo en lugar de solo >?

La explicación dada cuando me mostraron esto fue que garantizaba que el archivo de destino se truncara primero. Pero pensé que >ya implicaba eso.

Es >|útil?

Angelo
fuente

Respuestas:

16

Es un bypass explícito de noclobberopción.

De esa manera, puede sobrescribir el archivo incluso con noclobberset.

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

De man bash:

Si el operador de redirección es>, y se ha habilitado la opción noclobber para el conjunto incorporado, la redirección fallará si el archivo cuyo nombre resulta de la expansión de la palabra existe y es un archivo normal. Si el operador de redireccionamiento es> |, o el operador de redireccionamiento es> y la opción noclobber para el comando set builtin no está habilitada, la redirección se intenta incluso si el archivo nombrado por palabra existe.

Gilles Quenot
fuente
8

De 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 >.
michas
fuente