linux - 用 whiptail 显示一个变量

标签 linux bash whiptail

我想在 whiptail 界面中显示一个实时变量的值。 我像那样增加变量 =

#!/bin/bash

i=1

while test $i -ne 51
do 

    echo "$i" 

    i=$(($i + 1)) #icremente i

done

如何使用 whiptail 在 GUI 中显示实时值?

最佳答案

通常的方法是将结果通过管道传递给 --gauge 选项(gauge widget)。鞭尾鱼的 manual page列出那个。

whiptail 实现了 dialog's 的一个子集选项;如果您使用的是对话框,有人可能会建议显示连续的 --infobox 消息(也是子集的一部分),但 xterm 的效果可能不太好——闪烁太多(对话框取消切换到许多终端描述使用的 xterm 的备用屏幕)。

这是使用后者的示例:

#! /bin/sh

: ${PROG=whiptail}

left=10
unit="seconds"
while test $left != 0
do

$PROG --title "INFO BOX" "$@" \
        --infobox "Hi, this is $left $unit to read this..." 10 52
left=`expr $left - 1`
test $left = 1 && unit="second"
sleep 1
done

如果您在 xterm 中使用它而不禁用备用屏幕切换(例如,设置资源 *titeInhibit:false),当然它不会很好地工作。

关于linux - 用 whiptail 显示一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710361/

相关文章:

bash - 小于 if 语句中的运算符 '<' 结果为 'No such file or directory'

linux - 无法打开设备 : Too many open files Error

c - getsockopt 返回与 setsockopt 中设置的不同的 IP_TOS 值

linux - 如何从另一个文件中读取文件

linux - SVN 导出命令成功运行但文件未出现在目标路径中

linux - 如何从 URL 捕获文件大小并在 Shell 脚本中使用它

python - 制作python终端用户界面

linux - Bash whiptail 在更改目录时死掉

c# - 在 Windows 上以编程方式重命名打开的文件