寻找一个可以合并不同 shell 输出的工具

寻找一个可以合并不同 shell 输出的工具

我有一个 bash 脚本,它可以衍生出三个这样的进程:

CD FOO_DIR && ./run-foo
CD BAR_DIR && ./run-bar
CD BAZ_DIR && ./run-baz

我想要一个工具,将父 shell 分成三个部分(水平或垂直 - 没有区别),并分别显示每个部分中每个子进程的输出。

有这样的工具吗?

答案1

正如已经说过的,屏幕应该适合您的需要。

创建一个如下所示的屏幕配置文件:

startupmessage off
split
split

screen -t top top                       # -t <title> <command>
screen -t netstat watch netstat -tanp 
screen -t date watch date 

select top # In the first screen show the screen titled 'top'

focus down # Focus down to next screen
select netstat # Show screen titled 'netstat'

focus down # Focus down to the next screen
select date # Show the screen titled date

我们将此文件命名为screen_run。然后只需运行screen。-c选项指定要使用的配置文件:

screen -c screen_run

如果您想要垂直分割,您应该能够使用split -v代替split

https://www.gnu.org/software/screen/了解更多信息。

答案2

除此之外screen,您可能还想看看tmux每种方法都有其优点和缺点,您可能更喜欢其中一种方法处理拆分问题,而不是另一种方法。

相关内容