我正在尝试用命令输出覆盖文件,但前提是有任何输出。也就是说,我通常想要
mycommand > myfile
但如果这会myfile
用空数据覆盖,我希望保留旧版本的myfile
. 我认为ifne
应该可以使用一些东西,a la
mycommand | ifne (cat > myfile)
但这不起作用...
间接方法
mycommand | tee mytempfile | ifne mv mytempfile myfile
有效,但我认为使用该临时文件不雅。
问:为什么我的第一个想法行不通?它可以工作吗?或者对于我原来的问题是否有另一个不错的、也许完全不同的解决方案?