zsh: Desativar “arquivo existe:” aviso com redirecionamento

22

Como posso substituir o aviso file exists: do zsh?

> echo > newfile.txt
> echo > newfile.txt  
zsh: file exists: newfile.txt  

Nesses casos, prefiro que meu shell não reclame e simplesmente sobrescreva o arquivo, como o bash.

Da mesma forma, como substituir o seguinte:

$ ls >> /tmp/testfile.txt                                                                                                                                                   
zsh: no such file or directory: /tmp/testfile.txt
    
por guaka 25.06.2015 / 15:33

3 respostas

22

Seu setopt de saída menciona noclobber ? Se sim, é isso, apenas setopt clobber

A documentação da opção está no link

    
por 25.06.2015 / 15:56
35

Você pode forçar o ZSH a atrapalhar no redirecionamento com:

>!

Same as >, except that the file is truncated to zero length if it exists, even if CLOBBER is unset.

ou

>>!

Same as >>, except that the file is created if it does not exist, even if CLOBBER is unset.

    
por 23.01.2016 / 02:57
12

Outros recomendaram usar >! ou >>! , mas estes não são padrão POSIX. A maneira compatível com POSIx de sobrescrever arquivos sem avisar é usar >| ou >>| e isso funcionará em qualquer shell.

Para informações, consulte aqui: link

    
por 13.06.2017 / 02:23