Eu digitei por engano, mas o bash não imprimiu nenhum erro (mas criei um arquivo vazio), então pensei que talvez isso realmente significasse alguma coisa? (por exemplo, data |> tmp.txt)
bash
io-redirection
Bdimych2 Bdimych2
fonte
fonte
date |> tmp.txt cmd2
? Porque isso muda a resposta.Respostas:
Parece ser apenas um pipeline em que a segunda parte é um comando vazio, contendo apenas o redirecionamento. Escrevê-lo como
date | >file
pode facilitar a interpretação. O comando vazio não faz nada, mas processa o redirecionamento, criando o arquivo.date >| file
por outro lado, atuaria como uma substituição danoclobber
opção shell, o que impede que o regular>
substitua os arquivos existentes.fonte
Sim, ele não emitirá erro porque para bash
> file
significa redirecionar para um arquivo chamadofile
. Como no seu caso, não há nada para redirecionar para o arquivo, o bash criará apenas um nome de arquivofile
sem nada.fonte
my_file
contém a saída dedate
.zsh
, quando há apenas redirecionamentos e nenhum comando,zsh
executa o$NULLCMD
comando (cat
por padrão) ou$READNULLCMD
(um pager por padrão) se houver apenas redirecionamentos de entrada .