Shell学习(11)文字和图形接口
文字和图形接口
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/bashDIA='/usr/bin/dialog'$DIA --msgbox "小测试1" 10 40x=$?if [ "$x" -eq 0 ]; thenecho "你按了Enter键"elif [ "$x" -eq 255 ]; thenecho "你按了Esc键"elseecho "未知的错误"fi
??
?
参数
?
?
?
进度条
#!/bin/bash{for((i=1;i<=10;i++))dolet I=10*iecho $Isleep 1done} | dialog --gauge "进度" 5 60 0
?
?
?
xdialog可向下兼容大部分的dialog语法,只需要改为Xdialog。但支持更加多样化的对话框。。