zsh: отключить предупреждение «файл существует:» с перенаправлением

26

Как я могу отменить file exists:предупреждение от Zsh?

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

В этих случаях я предпочитаю, чтобы моя оболочка не жаловалась, а просто перезаписывала файл, как bash.

Аналогично, как переопределить следующее:

$ ls >> /tmp/testfile.txt                                                                                                                                                   
zsh: no such file or directory: /tmp/testfile.txt
фифи финанс
источник
2
set +Cдолжно быть дольше для комментария. Но, может быть, это потому, что я не упомянул >|случай одноразового использования.
mikeserv

Ответы:

42

Вы можете принудить ZSH к перенаправлению с помощью:

>!

То же, что и>, за исключением того, что файл усекается до нулевой длины, если он существует, даже если CLOBBER не установлен.

или

>>!

То же, что и >>, за исключением того, что файл создается, если он не существует, даже если CLOBBER не установлен.

cmcginty
источник
19

Другие рекомендовали использовать >!или, >>!но это не стандарт POSIX. POSIx-совместимый способ перезаписи файлов без запроса заключается в использовании >|или, >>|и это будет работать в любой оболочке.

Для получения информации см. Здесь: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_02

Саманта М.
источник