Bash 如何仅在文件存在时将输出重定向到该文件?

Bash 如何仅在文件存在时将输出重定向到该文件?,bash,Bash,这与clobber/noclobber特性相反。我只想更新文件,如果它已经存在。我知道我可以用多个命令来做这件事,但是有没有一个操作符来做呢?我能想到的最接近的是[[-f“$filename”]&&do something>“$filename”我RTFMed了,但是操作符还不存在。exec如果所有重定向到exec的操作都失败,那么它就会失败。您实际上想要完成什么?为什么不能使用noclobber或使用普通测试表达式以正确的方式进行测试?通常,测试表达式是正确的方法。是的,测试表达式可以工作;我

这与clobber/noclobber特性相反。我只想更新文件,如果它已经存在。我知道我可以用多个命令来做这件事,但是有没有一个操作符来做呢?

我能想到的最接近的是
[[-f“$filename”]&&do something>“$filename”

我RTFMed了,但是操作符还不存在。

exec
如果所有重定向到exec的操作都失败,那么它就会失败。您实际上想要完成什么?为什么不能使用noclobber或使用普通测试表达式以正确的方式进行测试?通常,测试表达式是正确的方法。是的,测试表达式可以工作;我正在寻找一种快捷方式,例如“>|”操作符,它严格来说不是必需的,但可以作为一种方便。如果命令是从错误的当前工作目录运行的,我试图避免创建文件并污染目录。正如你所说,我可以绕过这个问题,所以没什么大不了的,但是如果有一个操作员来避免“重击”错误的目录,那就太好了。我是RTFM ed,这个问题现在是一个功能请求:)谢谢。我希望除了投票之外,我也能接受它。但是,不幸的是,正确的答案是操作员不存在。不过,感谢简洁的语法,它值得投票支持。