我需要监控三个非常长的流程。而不是打开三个终端窗口,每个窗口都有一个单独的鞭尾进度条。我正在寻找一种使用 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 行;你可能想改变这个。