Shell脚本学习笔记(九)--文字和图形接口

本文介绍在shell脚本中创建对话框的工具dialog及其图形界面版本xdialog。dialog适用于终端模式,而xdialog则适用于Xwindow环境,并支持更多样化的对话框类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


文字和图形接口

dialog是一种在shell script中建立对话框的工具,利用dialog可以建立不同的信息和问题窗口,增加脚本方便性。

dialog建立的是终端模式下的文本接口,另外有一种和dialog语法兼容的工具叫xdialog,xdialog算建立X window下的图形接口。xdialog使用GTK+图形工具来完成各式各样的对话框,可融入不同的桌面主题。http://xdialog.free.fr/
除了xdialog外,zenity也可以,它改写自gdialog。

安装:sudo apt-get install dialog xdialog zenity
xdialog没有找到。。。

使用dialog

目前支持的对话框功能有:
calendar,checklist,form,fselect,gauge,infobox,inputbox,inputmenu,menu,msgbox(message),password,pause,radiolist,tailbox,tailboxbg,textbox,timebox,and yesno(yes/no)

这些对话框的语法,至少要有三个参数:标题或信息内容,窗口高度、宽度

常用的用法:
显示信息:dialog --msgbox 信息内容 高度 宽度
按确认离去状态为0,按esc离去状态为255,可使用$?来检查用户对窗口的反应。
例子

#!/bin/bash

DIA
='/usr/bin/dialog'

$DIA --msgbox "小测试1" 10 40

x
=$?

if [ "$x" -eq 0 ]; then
echo "你按了Enter键"
elif [
"$x" -eq 255 ]; then
echo "你按了Esc键"
else
echo "未知的错误"
fi
结果
2011031914223790.png

2011031914274253.png

2011031914283615.png

2011031914284628.png

进度条

#!/bin/bash

{
for((i=1;i<=10;i++))
do
let I
=10*i
echo $I
sleep
1
done
} | dialog --gauge
"进度" 5 60 0

2011031914530571.png

xdialog可向下兼容大部分的dialog语法,只需要改为Xdialog。但支持更加多样化的对话框。。

转载于:https://www.cnblogs.com/njucslzh/archive/2011/03/19/1988799.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值