当我们在终端下安装新的软件时,可以经常看到信息对话框弹出,需要我们进行输入,比如:RHEL/CentOS自带的setup,对话框的类型有密码箱、检查表、菜单等等。当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入。那么这种对话框是怎么来的呢?
![9be30c5bebb5680e546eeb5b8f1cf0d9.png](https://img-blog.csdnimg.cn/img_convert/9be30c5bebb5680e546eeb5b8f1cf0d9.png)
对话框
在网上搜索了很多资料,发现whiptail、Zenity、dialog可以实现,我的win10子系统默认带有whiptail,后两者需要安装。安装方法:
# 方法1sudo apt-get install dialogsudo apt-get install Zenity# 方法2# 下载tar包、tar解压、./configure、make、make install
本篇我们就看下whiptail是如何使用的,点开这首音乐,我们进入正题。
一、用法详解
既然也是一个命令,我们就要去了解它的用法,可以通过man手册查看它的用法:
名字:
whiptail:显示shell脚本中的对话框
用法:
whiptail [ --title title ] [ --backtitle backtitle ] [ --clear ] [ --default-item string ] [ --defaultno ] [ --fb ] [ --nocancel ] [ --yes-button text ] [ --no-button text ] [ --ok-button text ] [ --cancel-button text ] [ --noitem [ ] --output-fd fd ] [ --separate-output ] [ --scrolltext ] [ --topleft ] box- options
描述:
whiptail是一个程序,它允许您使用shell脚本中的对话框提出各种问题或显示消息。目前,这些类型的对话框已经实现:是/否框、菜单框、输入框、消息框、文本框、信息框、清单框、放射列表框、量表框和密码框。
选项:
--clear:退出时屏幕将清除为屏幕属性。如果启用了备用屏幕切换,这在xterm(和子代)中不起作用,因为在这种情况下,俚语会写入(并清除)备用屏幕。
--defaultno:对话框将打开,光标放在“否”按钮上。
--default-item string: 在菜单框中设置默认项。通常,框中的第一项是默认项。
--fb, --fullbuttons:使用全按钮,默认情况下,whiptail使用压缩按钮。
--nocancel:对话框将没有“取消”按钮。
--yes-button text:设置“是”按钮的文本。
--no-button text:设置“否”按钮的文本。
--ok-button text:设置“确定”按钮的文本。