老白学编程了解whiptail
whiptail 是替代 dialog 的实现,它基于 newt 库.而 newt 则是为了简化 ncurses 开发而产生的新的 tty 下的UI库。
为啥用whiptail? 我想大概是我电脑里默认装的不是dialog而是这个。
基本
这里不多写了, 大家可以问一下超人(man),看一下基本用法, 列一下支持的对话框类型:
- yes/no box,
- menu box,
- input box,
- message box,
- text box,
- info box,
- checklist box,
- radiolist box gauge box,
- and password box.
实例
yes/no box
#! /bin/bash whiptail --yesno "Did you already know whiptail?" --yes-button "Yes, I did" --no-button "No, never heard of it" 10 70
CHOICE=$?
返回值:
0 为yes ,1 为no; -1 为出错
menu
#!/bin/bashOPTION=$(whiptail --title "Menu Dialog" --menu "Choose your favorite programming language." 15 60 4 "1" "Python" "2" "Java" "3" "C" "4" "PHP" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Your favorite programming language is:" $OPTION
else
echo "You chose Cancel."
fi
这里要注意, 返回值输出在标准错误stderr, 也就是文件描述符 2;
checklist
$ whiptail --checklist "Preferred Linux Distro" 10 44 2 1 "debian" off
2 "centos" on 2>hh
$ cat hh
"1" "2"
从这里可以更进一步看出, 结果输出在标准错误。
结果是一个列表的形态,以空格分隔。
以上是 老白学编程了解whiptail 的全部内容, 来源链接: utcz.com/z/516182.html