Lo escribí por error, pero bash no imprimió ningún error (pero creó un archivo vacío), así que pensé que tal vez realmente significa algo. (por ejemplo, fecha |> tmp.txt)
bash
io-redirection
Bdimych2 Bdimych2
fuente
fuente

date |> tmp.txt cmd2? Porque eso cambia la respuesta.Respuestas:
Eso parece ser solo una tubería donde la segunda parte es un comando vacío, que solo contiene la redirección. Escribirlo como
date | >filepodría facilitar su interpretación. El comando vacío no hace nada más que procesar la redirección, creando el archivo.date >| filepor otro lado, actuaría como una anulación para lanoclobberopción de shell, lo que evita que el>archivo normal sobrescriba los archivos existentes.fuente
Sí, no arrojará error porque para bash
> filesignifica redirigir a un archivo llamadofile. Como en su caso no hay nada que redirigir al archivo, bash solo creará un nombre de archivofilesin nada.fuente
my_filecontiene la salida dedate.zsh, cuando solo hay redirecciones y ningún comando,zshejecuta el$NULLCMDcomando (catpor defecto) o$READNULLCMD(un buscapersonas por defecto) si solo hay redirecciones de entrada .