Linux 如何从终端A发送在终端B中打开的程序的命令?

Linux 如何从终端A发送在终端B中打开的程序的命令?,linux,terminal,Linux,Terminal,我打开了两个gnome终端:终端A(/dev/pts/0)和终端B(/dev/pts/1)。在终端B中,我打开了gnuplot,所以我在终端B中看到的是 gnuplot> 因此,终端B已准备好接收指令。让我们假设一条这样的指令是“plot x”,它应该生成函数y(x)=x的图。然而(问题来了),我需要做的是从终端A向gnuplot提供这样的指令 execute-command "y(x)=x" > /dev/pts/1 & 我不知道执行命令在哪里 我已经试过了 exec

我打开了两个gnome终端:终端A(/dev/pts/0)和终端B(/dev/pts/1)。在终端B中,我打开了gnuplot,所以我在终端B中看到的是

gnuplot>
因此,终端B已准备好接收指令。让我们假设一条这样的指令是“plot x”,它应该生成函数y(x)=x的图。然而(问题来了),我需要做的是从终端A向gnuplot提供这样的指令

execute-command "y(x)=x" > /dev/pts/1 &
我不知道执行命令在哪里

我已经试过了

exec "y(x)=x" > /dev/pts/1 &

但不起作用,因为“y(x)=x”不是有效的命令。我的意思是,它对gnuplot是有效的,但它似乎不是这样工作的。

写入
/dev/pts/X
将输出发送到终端,而不是输入。您需要写入pty的主端。如果您还告诉了如何打开tty的主端,只要给出从端的路径(或打开的文件描述符),请参阅@Barmar;-)我不确定有什么简单的方法。Linux使用pty多路复用器,它不会将主端放在文件系统中