次のコードの 2 つのリダイレクトには違いがありますか?
mkfifo foo
echo > foo
echo >> foo
答え1
そこにはすべき違いはありません。 はフラグ>>
付きで FIFO を開きますO_APPEND
が、FIFO やその他のシーク不可能なファイルでは違いはありません。
しかしただし、Linux のようなバグのあるインターフェースがありsendfile(2)
、モードで開かれたファイルでは機能せずO_APPEND
、そのモードが設定されているシーク不可能なファイルでも拒否されるため、常に 形式を使用することをお勧めします>
。