kqw*_*kqw 33 zsh io-redirection
如何覆盖file exists:
来自 zsh的警告?
> echo > newfile.txt
> echo > newfile.txt
zsh: file exists: newfile.txt
Run Code Online (Sandbox Code Playgroud)
在这些情况下,我希望我的 shell 不会抱怨,而是简单地覆盖文件,例如 bash。
同样,如何覆盖以下内容:
$ ls >> /tmp/testfile.txt
zsh: no such file or directory: /tmp/testfile.txt
Run Code Online (Sandbox Code Playgroud)
cmc*_*nty 56
您可以强制 ZSH在重定向时使用:
>!
Run Code Online (Sandbox Code Playgroud)
与 > 相同,除了文件存在时会被截断为零长度,即使未设置 CLOBBER。
或者
>>!
Run Code Online (Sandbox Code Playgroud)
与 >> 相同,但如果文件不存在,则创建该文件,即使未设置 CLOBBER。
Jos*_*din 30
你的setopt
输出提到了noclobber
吗?如果是这样,就是这样,只是setopt clobber
该选项的文档位于http://zsh.sourceforge.net/Doc/Release/Options.html#index-file-clobbering_002c-allowing
小智 24
其他人建议使用>!
or>>!
但这些不是 POSIX 标准。在没有提示的情况下覆盖文件的 POSIx 兼容方法是使用>|
or>>|
这将在任何shell 中工作。
有关信息,请参见此处:http : //pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_02