zenity命令-显示图形框
简介
zenity是一个程序,它将显示图形框,并返回(在返回代码中,或标准输出中)用户的输入。这允许您从各种shell脚本中呈现信息,并向用户索取信息,实现图形化与用户交互
语法格式
zenity [参数]
安装zenity
Debian系统
apt install -y zenity
Redhat系统
yum install -y zenity
查看帮助
zenity --help
输出如下
帮助选项:
-h, --help 显示帮助选项
--help-all 显示全部帮助选项
--help-general 显示常规选项
--help-calendar 显示日历选项
--help-entry 显示文字输入选项
--help-error 显示错误选项
--help-info 显示信息选项
--help-file-selection 显示文件选择选项
--help-list 显示列表选项
--help-notification 显示通知图标选项
--help-progress 显示进度选项
--help-question 显示问题选项
--help-warning 显示警告选项
--help-scale 显示范围选项
--help-text-info 显示文本信息选项
--help-color-selection 显示颜色选择选项
--help-password 显示口令对话框选项
--help-forms 显示表单对话框选项
--help-misc 显示杂类选项
--help-gtk 显示 GTK+ 选项
应用程序选项:
--calendar 显示日历对话框
--entry 显示文本输入对话框
--error 显示错误对话框
--info 显示信息对话框
--file-selection 显示文件选择对话框
--list 显示列表对话框
--notification 显示通知
--progress 显示进度指示对话框
--question 显示问题对话框
--warning 显示警告对话框
--scale 显示范围对话框
--text-info 显示文本信息对话框
--color-selection 显示颜色选择对话框
--password 显示口令对话框
--forms 显示表单对话框
--display=DISPLAY X display to use
常用参数
--calendar 快速日历对话框
示例
输出为
2022年02月27日
--error 错误对话框
示例
zenity --error --title="错误" --text="发生了错误"
--error # 输出为错误信息,对话框显示为红色
--title # 自定义对话框标题
--text # 自定义错误信息
输出如下
--entry 一般文本输入对话框
示例
zenity --entry --title="Input" --text="Please Input..."
在弹出的对话框中输入信息则返回对应输入信息
输出如下
--info 信息对话框,同error只不过显示框为蓝色
示例
zenity --info
输出如下
--question 问题对话框
示例
当用户点击确定执行某操作,取消则不操作,通过点击确定或者取消的返回值来确定
qs=$(zenity --question --text="hello test")
num=$?
if [ ${num} -ne 0 ]
then
echo "用户取消"
else
echo "用户确定操作"
fi
运行脚本
点击是和否输出不同
--scale 缩放对话框
示例
zenity --scale
返回值为缩放框调整的值
--password 密码框
示例
zenity --password
输入为非明文显示的密码,输出为明文密码
--file-selection 文件选择
示例
zenity --file-selection
弹出文件选择框,选择单个文件,返回为文件的完整路径
案例
使用一个案例来演示zenity在shell脚本中的应用
脚本要求用户输入姓名并显示,选择文件名并显示
#!/bin/bash
#Time: 2022-02-25
#Email:
#File: zenity_test.sh
#Project:
#Description:
#How Use:
First_name=$(zenity --entry --title="姓" --text="请输入姓氏")
Last_name=$(zenity --entry --title="请输入名字" --text="请输入名字")
zenity --info --text="Hello ${First_name}${Last_name}"
File_name=$(zenity --file-selection --title="选择文件")
zenity --info --text="你选择的文件是${File_name}"