如何在不同的 tty 中运行命令?

如何在不同的 tty 中运行命令?

假设有两个终端,pts/0pts/1

在 中pts/0,我触发了一个命令:

ls>/dev/pts/1

ls然后,我们只能在 中获得命令的输出pts/1,但我想在 中运行命令及其输出pts/1

我尝试过"echo ls">/dev/pts/1,但命令的输出ls“ls”打印在 上pts/1

我该怎么做?

我尝试过的

答案1

复制和粘贴这段代码ttyecho.c

编译它使用gcc -O3 -o ttyecho ttyecho.c

用它./ttyecho -n /dev/pts/1 ls

答案2

取决于您的终端环境:

  • 在带有控制台的 Linux 中:openvt _command_
  • 在屏幕中的终端内:screen _command_
  • 在 X Windows 中(也包括 Mac):xterm -e "_command_"

答案3

我不清楚你为什么要这样做;根据具体原因,集群sh包可能会做你想做的事。

clustersh 的想法是ssh向多台机器(或者可能是同一台机器多次)启动多个命令。然后,您将获得每个 ssh 会话的终端窗口,以及 clustersh 的一个入口窗口。如果您在其中一个终端窗口中输入某些内容,它只会发送到该 ssh 会话;但是,如果您将其输入到主输入窗口中,它将被发送到全部会议。

如果这不是您需要的,如果您能解释一下可能会很有用为什么你想这样做。

相关内容