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
zsh
io-redirection
finanse fifi
źródło
źródło
set +C
powinno być dłuższe na komentarz. Ale może dlatego, że nie wspomniałem>|
o przypadku jednorazowego użytku.Odpowiedzi:
Czy
setopt
wspominasz o swoich wynikachnoclobber
? Jeśli tak, to tylesetopt clobber
Dokumentacja tej opcji znajduje się na stronie http://zsh.sourceforge.net/Doc/Release/Options.html#index-file-clobbering_002c-allowing
źródło
Możesz zmusić ZSH do zatkania się przy przekierowaniu za pomocą:
lub
źródło
Inni zalecili użycie
>!
lub>>!
nie są to standardy POSIX. Zgodnym z POSIx sposobem nadpisywania plików bez monitowania jest użycie>|
lub,>>|
i to zadziała w dowolnej powłoce.Aby uzyskać informacje, zobacz tutaj: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_02
źródło