> 和 >> 与命名管道一起使用时的区别

6 io-redirection fifo

以下代码中的两个重定向之间有什么区别吗?

mkfifo foo
echo > foo  
echo >> foo
Run Code Online (Sandbox Code Playgroud)

mos*_*svy 8

目前应该是没有什么区别。该>>会打开与FIFO的O_APPEND标志,并且不应该在一个FIFO或其他非搜索文件的任何差异。

但是sendfile(2)在 Linux 中存在有缺陷的接口,它们不适用于以O_APPEND模式打开的文件,甚至会反对设置了该模式的不可搜索文件,因此您最好始终使用该>表单。