重定向到命名管道

重定向到命名管道

我知道之间的区别>我知道重定向到普通文件和>>重定向到普通文件。但是重定向到命名管道 (fifo) 时有区别吗?

假设namedpipe是一个命名管道。以下 bash 命令等效吗?

echo something > namedpipe
echo something >> namedpipe

答案1

从 bash 的角度来看,两者产生相同的效果。

如果您从管道中读取内容,则任一者都会成功写入管道,并且由于管道是一种特殊设备(而不是文件),因此其长度不会改变(如果您使用附加运算符,则与常规文件一样>>) 。将数据转发给读取器后,管道不记得您写入的内容,>因此>>相同。

进一步阅读:

相关内容