zsh: Wyłącz ostrzeżenie „plik istnieje” z przekierowaniem

26

Jak mogę zastąpić file exists:ostrzeżenie z zsh?

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

W takich przypadkach wolę, aby moja powłoka nie narzekała i po prostu nadpisała plik, jak bash.

Podobnie, jak zastąpić następujące:

$ ls >> /tmp/testfile.txt                                                                                                                                                   
zsh: no such file or directory: /tmp/testfile.txt
finanse fifi
źródło
2
set +Cpowinno być dłuższe na komentarz. Ale może dlatego, że nie wspomniałem >|o przypadku jednorazowego użytku.
mikeserv

Odpowiedzi:

42

Możesz zmusić ZSH do zatkania się przy przekierowaniu za pomocą:

>!

To samo co>, tyle że plik jest obcinany do zerowej długości, jeśli istnieje, nawet jeśli CLOBBER jest wyłączony.

lub

>>!

To samo co >>, tyle że plik jest tworzony, jeśli nie istnieje, nawet jeśli CLOBBER jest wyłączony.

cmcginty
źródło