编程对话框的界面程序

用户界面和dialog工具①

。在文本控制台下实现用户界面,支持 多选框 表单 文件选择 进度条 输入框 菜单 消息框 密码 单选框 文本框 YesNo等多个元件

。安装包dialog

#yum insatll dialog

。/usr/share/doc/dialog-<version>/sample目录下提供示例程序

用户界面和dialog工具②

。dialog显示文本用户界面,在选择之后可以对其退出状态使用case语句做检测

。通常为以下几种:

  0  Yes或OK

  1  No或Cancel

  2  用户点击Help帮助按钮

  3  点击其他的按钮

  -1  Esc键推出

用户界面和dialog工具③

。每一次使用一种对话框元素,可以使用下面的语句清除屏幕的同时保留原背景色

  -dialog --clear

  -不要使用Shell命令clear

dialog工具实现消息框

。cat >dia2

  dialog --title "Linux Dialog Utility Msgbox“  #标题头

      --backtitle "Linux Shell Script \  #一行写不完

      Tutorial”

      --msgbox "This is dialog box called msgbox,\

        which is user......" 9 50

。--msgbox  消息框中的内容

。9  50  居中的长高度和宽 

dialog工具实现yes/no选择对话框

dialog --title "Alert : Delete File" --backtitle "Linux Shell Script\
Tutorial" --yesno "\nDo you want to delete '/usr/letters/jobapplication' file" 7 60
sel = $?
case $sel in
    0)echo "User select to delete file";;
    1)echo "User select not to delete file";;
    255)echo "Canceled by user by pressing [ESC] key";;
esac
。返回值判断用户的选择0代表Yes,1代表0,255代表强制退出。  

dialog工具实现输入框

dialog --title “Inputbox - To take input from you" --backtitle "Linux Shell Script Trtorial" --inputbox "Enter your name please"\
8 60 2>/tmp/input.$$    #关键部分将输入信息保存到文件中
sel=$?
na=$(cat/tmp/input.$$)
case $sel in
    0)echo "Hello $na";;    #执行结果为0,读取文件中输入的信息
    1)echo "Cacel is Press";;    #返回结果为1,表示取消
    255)echo "[ESCAPE]key pressed";;    #255为退出
esac
rm -f /tmp/input.$$

dialog中菜单

。在dialog中可以实现上下选项菜单的项

。其结果输出到一个临时文件,再将tag结果显示出来

。语法

  -dialog --menu <文本> <高> <宽> <菜单高> [tag选项描述]......

  -示例:  

dialog --clear --title "Menu Box" --menu "Hi,this is a menu box example \n
    Choose the OS you like:* 20 51 5 4 \
"Linux" "RedHat Enterprise Linux" \
"UNIX" "IBM AIX"\
"WIN NT" "Microsoft Windows NT" 2>/tmp/temp.$$
cat /tmp/temp.$$

dialog中多选框

。--checklist与Menu Box雷同,提供了多选框,同时也提供了选项的on/off的初始状态。

。语法

  -  --checklist <文本> <高> <宽> <列表的高度> [<tag> <条目描述><状态>]......

。示例:

dialog --backtitle ”服务列表“ --title ”这是一个多选框的例子“ --checklist ”请选择开启的服务“ 20 61 5 \
"ntp" "Network time protocol" off \
"sendmial" "Sendmail mail service”oN\
"httpd" "Apache Web server" oFf 2>/tmp/tmp.$$
。dialog的多选框返回值就是选择ON的值

编程对话框的界面程序

 

 编程对话框的界面程序

 

 编程对话框的界面程序

 

 

 

 

  

  

  

 

上一篇:UART与SIM卡通信电路设计


下一篇:postman技巧