以下代码中的两个重定向之间有什么区别吗?
mkfifo foo
echo > foo
echo >> foo
Run Code Online (Sandbox Code Playgroud)
目前应该是没有什么区别。该>>
会打开与FIFO的O_APPEND
标志,并且不应该在一个FIFO或其他非搜索文件的任何差异。
但是,sendfile(2)
在 Linux 中存在有缺陷的接口,它们不适用于以O_APPEND
模式打开的文件,甚至会反对设置了该模式的不可搜索文件,因此您最好始终使用该>
表单。