與命名管道一起使用時 > 和 >> 之間的區別

與命名管道一起使用時 > 和 >> 之間的區別

下面程式碼中的兩個重定向有什麼區別嗎?

mkfifo foo
echo > foo  
echo >> foo

答案1

那裡應該沒有什麼差別。將>>使用該標誌開啟 fifo O_APPEND,這對 fifo 或其他不可尋找的檔案不會產生任何影響。

然而,有像sendfile(2)Linux 中那樣的有缺陷的介面,它們不適用於在O_APPEND模式下開啟的文件,甚至會反對設定該模式的不可查找文件,因此您最好始終使用該>表單。

答案2

>覆蓋目標文件

>>附加到目標文件

謝謝喬賓詢問Ubuntu獲得45個讚的權威答案。

相關內容