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  快速日历对话框

示例
image
输出为

2022年02月27日
--error  错误对话框

示例

zenity --error --title="错误" --text="发生了错误"
--error # 输出为错误信息,对话框显示为红色
--title # 自定义对话框标题
--text  # 自定义错误信息

输出如下
image

--entry 一般文本输入对话框

示例

zenity --entry --title="Input" --text="Please Input..."

在弹出的对话框中输入信息则返回对应输入信息
image
输出如下
image

--info 信息对话框,同error只不过显示框为蓝色

示例

zenity --info

输出如下
image

--question 问题对话框

示例
当用户点击确定执行某操作,取消则不操作,通过点击确定或者取消的返回值来确定


qs=$(zenity --question --text="hello test")
num=$?
if [ ${num} -ne 0 ]
    then
        echo "用户取消"
    else
        echo "用户确定操作"
fi

运行脚本
image
点击是和否输出不同
image

--scale 缩放对话框

示例

zenity --scale

image
返回值为缩放框调整的值

--password 密码框

示例

zenity --password

输入为非明文显示的密码,输出为明文密码
image

--file-selection 文件选择

示例

zenity --file-selection

弹出文件选择框,选择单个文件,返回为文件的完整路径
image
image

案例

使用一个案例来演示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}"
posted @ 2022-02-25 18:37  minseo  阅读(2502)  评论(0编辑  收藏  举报