我需要将输出重定向到 shell 中带有 > 的文件,但如果该文件不存在,则不应创建该文件。如何做到这一点?

我尝试创建指向文件的符号链接(symbolic link)并重定向到符号链接(symbolic link),但不幸的是,如果文件不存在,无论如何都会创建它。

可能我需要重定向到一个单独的程序来进行检查,而不是 shell。有谁知道可以做到这一点的程序吗?

注意我需要它在 OpenWrt 中工作(即,使用 busybox 的实用程序版本)。

请您参考如下方法:

您没有指定设备文件不应存在的时间。如果你想问,应该在调用 program 时检查设备文件是否存在,你可以在 Bash 中使用以下命令:

[[ -f logfile ]] && program > devfile 

@thatotherguy 评论的改编版本通过使用 dd 而不是 Bash 内部实现基本相同,如下所示:

program | dd conv=nocreat of=devfile 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!