我想将文件的内容读入粘贴缓冲区并将其标准输出到屏幕上。我这样做了:
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