重定向到命名管道

Zab*_*ula 5 io-redirection fifo

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

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

echo something > namedpipe
echo something >> namedpipe
Run Code Online (Sandbox Code Playgroud)

Tho*_*key 5

从 bash 的角度来看,两者产生的效果是一样的。

如果您从中读取了某些内容,则任何一个都将成功写入管道,并且由于管道是一种特殊设备(而不是文件),因此其长度不会改变(就像常规文件一样,如果您使用了>>追加运算符) . 该管道不记得你写它的数据转发给读者后,所以>>>看起来是一样的。

进一步阅读: