zsh : 리디렉션과 함께 “파일이 존재합니다 :”경고 비활성화 newfile.txt zsh: file exists: newfile.txt

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


답변

당신의 setopt출력은 언급 noclobber합니까? 그렇다면 그게 다야setopt clobber

옵션에 대한 설명서는 http://zsh.sourceforge.net/Doc/Release/Options.html#index-file-clobbering_002c-allowing에 있습니다.


답변

다음을 사용 하여 경로 재 지정시 ZSH를 강제로 클로버 할 수 있습니다 .

>!

CLOBBER가 설정되지 않은 경우에도 파일이 존재하는 경우 길이가 0으로 절단된다는 점을 제외하고는>와 동일합니다.

또는

>>!

CLOBBER가 설정되지 않은 경우에도 파일이 존재하지 않는 경우 파일이 작성된다는 점을 제외하고 >>와 동일합니다.


답변

다른 사람들은 >!or를 사용하도록 권장 >>!했지만 POSIX 표준은 아닙니다. 메시지를 표시하지 않고 덮어 쓰기 파일에 대한 POSIX 호환 방법은 사용하는 것 >|또는 >>|이것은에서 작동합니다 어떤 쉘.

자세한 내용은 여기를 참조하십시오 : http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_02