No script bash, qual é a diferença entre e | redirecionamentos?

2

Qual é a diferença entre os dois comandos de redirecionamento a seguir?

ls > out
ls >| out

Ambos parecem produzir o mesmo resultado.

    
por GoodMirek 14.10.2016 / 09:30

1 resposta

2

De acordo com [1], a diferença é que >| redireciona a saída para um arquivo, mesmo se a opção noclobber estiver configurada.

A opção noclobber é definida pela opção de linha de comando do bash -C e impede a substituição de arquivos pelo redirecionamento [2]. Quando a opção noclobber é configurada, ls >| out sobrescreve o arquivo out , enquanto ls > out não.

[1] link
[2] link

    
por 14.10.2016 / 09:45