我想在 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/