小编Hag*_*zen的帖子

仅当数据时覆盖文件

我试图用命令输出覆盖文件,但前提是有任何输出。也就是说,我通常想要

mycommand > myfile
Run Code Online (Sandbox Code Playgroud)

但如果这会被myfile空数据覆盖,我希望保留旧版本的myfile. 我认为使用的东西ifne应该是可能的,a la

mycommand | ifne (cat > myfile) 
Run Code Online (Sandbox Code Playgroud)

但这不起作用......

间接方法

mycommand | tee mytempfile | ifne mv mytempfile myfile
Run Code Online (Sandbox Code Playgroud)

有效,但我认为使用该临时文件不雅。

问:为什么我的第一个想法不起作用?它可以工作吗?或者对于我的原始问题是否有另一个不错的,也许完全不同的解决方案?

bash

8
推荐指数
2
解决办法
970
查看次数

标签 统计

bash ×1