如何在同一屏幕上显示三个鞭尾?

如何在同一屏幕上显示三个鞭尾?

我需要监控三个非常长的流程。而不是打开三个终端窗口,每个窗口都有一个单独的鞭尾进度条。我正在寻找一种使用 screen 或 tmux 将三个鞭尾进度条输出发送到单个终端的方法?这可能吗?

例如,我需要将以下输出同时发送到终端屏幕三次。

#!/bin/bash
{
  DEPLOYING=0;
  while [ "$DEPLOYING" -le "100" ]; do
      DEPLOYING=$(deploy $ENVIRONMENT)
  done
} | whiptail --gauge "Deploying application to $ENVIRONMENT environment..." 6 50 0

答案1

您可以使用以下 tmux 示例:

tmux -f /dev/null \
 new-session -s mywhiptail 'mycmd 1' \; \
 split-window -v -l 8 -t 0 'mycmd 3' \; \
 split-window -v -l 8 -t 0 'mycmd 2'
tmux kill-session -t mywhiptail

你的脚本在哪里mycmd运行鞭尾。我添加了一个可选参数(1,2 或 3),以显示如果您希望命令在屏幕上以正确的顺序显示,则需要按什么顺序发出命令。 -l 8将鞭尾的窗口高度设置为 8 行;你可能想改变这个。

相关内容