
我想將文件的內容讀入貼上緩衝區並將其標準輸出到螢幕上。我這樣做了:
screen -X readbuf /home/nitro/file|screen -X writebuf|cat /tmp/screen-exchange
但該cat
命令向我顯示了螢幕交換文件以及 readbuf 命令的先前結果。如果我單獨執行這些命令,一切都會正確,並且我將獲得修改後的螢幕交換檔案。
如何同時執行 readbuf、writebuf 和 cat 這三個指令?
答案1
這些命令:
screen -X readbuf /home/nitro/file
screen -X writebuf
cat /tmp/screen-exchange
不充當管道的一部分,但您的複合命令嘗試以這種方式對待它們。也就是說,每個步驟都不會讀取上一步的標準輸出,因此它們之間的因果關係比您鍵入的要少
screen -X readbuf /home/nitro/file; screen -X writebuf; cat /tmp/screen-exchange
或者
screen -X readbuf /home/nitro/file && screen -X writebuf && cat /tmp/screen-exchange