我需要将输出重定向到 shell 中带有 >
的文件,但如果该文件不存在,则不应创建该文件。如何做到这一点?
我尝试创建指向文件的符号链接(symbolic link)并重定向到符号链接(symbolic link),但不幸的是,如果文件不存在,无论如何都会创建它。
可能我需要重定向到一个单独的程序来进行检查,而不是 shell。有谁知道可以做到这一点的程序吗?
注意我需要它在 OpenWrt 中工作(即,使用 busybox
的实用程序版本)。
请您参考如下方法:
您没有指定设备文件不应存在的时间。如果你想问,应该在调用 program
时检查设备文件是否存在,你可以在 Bash 中使用以下命令:
[[ -f logfile ]] && program > devfile
@thatotherguy 评论的改编版本通过使用 dd
而不是 Bash 内部实现基本相同,如下所示:
program | dd conv=nocreat of=devfile