Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 有没有办法在两个不同的bash终端上同时运行两个不同的命令/指令?_Linux_Bash_Stdout_Stderr - Fatal编程技术网

Linux 有没有办法在两个不同的bash终端上同时运行两个不同的命令/指令?

Linux 有没有办法在两个不同的bash终端上同时运行两个不同的命令/指令?,linux,bash,stdout,stderr,Linux,Bash,Stdout,Stderr,以下是一个示例- 终端1 终端2 更具体地说,我想在一个终端上打印stdout,在另一个终端上同时从程序中打印stderr 可以使用类似终端的终端或任何其他终端吗?终端作为设备公开。如果在/dev/tty/1上有终端1,在/dev/tty/2上有终端2,则可以运行 ./file_name_1.sh >/dev/tty/1 2>/dev/tty/2 使其标准输出显示在端子1中,标准输出显示在端子2中。当然,如果你在其中一个终端中还有其他东西,比如一个交互式外壳,那你就是在给自己制造

以下是一个示例-

终端1

终端2

更具体地说,我想在一个终端上打印stdout,在另一个终端上同时从程序中打印stderr


可以使用类似终端的终端或任何其他终端吗?

终端作为设备公开。如果在/dev/tty/1上有终端1,在/dev/tty/2上有终端2,则可以运行

 ./file_name_1.sh >/dev/tty/1 2>/dev/tty/2
使其标准输出显示在端子1中,标准输出显示在端子2中。当然,如果你在其中一个终端中还有其他东西,比如一个交互式外壳,那你就是在给自己制造麻烦。可能更好的解决方案是登录到一个文件,并在您认为合适的情况下在每个终端中查看的文件上运行tail

./file_name_1.sh >stdout.log 2>stderr.log
然后在1号航站楼

tail -f stdout.log
在二号候机楼

tail -f stderr.log

tty命令可以交互地用于显示关于当前终端的信息;在大多数平台上,您也可以在ps输出中看到终端信息,但具体使用什么选项取决于您所使用的操作系统。通常在Linux上,首先尝试ps a。

终端作为设备公开。如果在/dev/tty/1上有终端1,在/dev/tty/2上有终端2,则可以运行

 ./file_name_1.sh >/dev/tty/1 2>/dev/tty/2
使其标准输出显示在端子1中,标准输出显示在端子2中。当然,如果你在其中一个终端中还有其他东西,比如一个交互式外壳,那你就是在给自己制造麻烦。可能更好的解决方案是登录到一个文件,并在您认为合适的情况下在每个终端中查看的文件上运行tail

./file_name_1.sh >stdout.log 2>stderr.log
然后在1号航站楼

tail -f stdout.log
在二号候机楼

tail -f stderr.log

tty命令可以交互地用于显示关于当前终端的信息;在大多数平台上,您也可以在ps输出中看到终端信息,但具体使用什么选项取决于您所使用的操作系统。一般来说,在Linux上,首先尝试ps a。

您可以创建一些命名管道对,并将stdout和stderr重定向到这些管道。 在你喜欢的任何终端上,你都可以从这些管道中读取数据

mkfifo mystdout  
mkfifo mystderr

./program >mystdout 2>mystderr
在1号航站楼:

尾部-f mystdout

在2号航站楼:


tail-f mystderr

您可以创建一些命名管道对,并将stdout和stderr重定向到这些管道。 在你喜欢的任何终端上,你都可以从这些管道中读取数据

mkfifo mystdout  
mkfifo mystderr

./program >mystdout 2>mystderr
在1号航站楼:

尾部-f mystdout

在2号航站楼:

tail-f mystderr