缓冲区的屏幕命令

缓冲区的屏幕命令

我想将文件的内容读入粘贴缓冲区并将其标准输出到屏幕上。我这样做了:

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

相关内容