如何在whiptail进度条和进度条上显示不同的消息?

Anu*_*ava 7 bash shell scripting whiptail

我正在尝试使用“whiptail”在删除一些 RPM 的同时向用户显示进度。使用

{
 echo 25
 yum remove package_name
 echo 50
 yum remove package_name
 echo 75 
 yum remove package_name
 echo 100
 sleep 1

} | whiptail --gauge "Removing RPM's" 6 60 0*
Run Code Online (Sandbox Code Playgroud)

这是它的样子

我想是与进度条一起显示消息“删除程序包”,就像当RedHat的安装包 这样的事情 我怎么能做到这一点?

Ase*_*rre 5

Whiptail 使用一种奇怪的语法来更新仪表文本。看看下面的脚本:

#!/bin/bash
{
    sleep 0.5
    echo -e "XXX\n0\nyum remove package_0... \nXXX"
    sleep 2
    echo -e "XXX\n25\nyum remove package_0... Done.\nXXX"
    sleep 0.5

    echo -e "XXX\n25\nyum remove package_1... \nXXX"
    sleep 2
    echo -e "XXX\n50\nyum remove package_1... Done.\nXXX"
    sleep 0.5

    echo -e "XXX\n50\nyum remove package_2... \nXXX"
    sleep 2
    echo -e "XXX\n75\nyum remove package_2... Done.\nXXX"
    sleep 0.5

    echo -e "XXX\n75\nyum remove package_3... \nXXX"
    sleep 2
    echo -e "XXX\n100\nyum remove package_3... Done.\nXXX"
    sleep 1
} |whiptail --title "Yum Removal" --gauge "Please wait while installing" 6 60 0
Run Code Online (Sandbox Code Playgroud)

在这里,关键部分是echo -n "XXX\n<new percent>\n<new_gauge_text>\nXXX". XXX鞭尾使用该字符串来指示对显示的修改。