1.dialog
名称: shell脚本中显示对话框。
总览:
   dialog --clear
   dialog --create-rc File
   dialog --print-maxsize
   dialog Common_Options Box_Options
描述:
   支持以下对话框:
   calendar(日历), checklist(清单), dselect, editbox, form, fselect, gauge尺度, infobox信息框, inputbox, inputmenu,
   menu, mixedform, mixedgauge, msgbox (message), passwordbox,
       passwordform, pause, progressbox, radiolist, tailbox, tailboxbg, textbox, timebox, and yesno (yes/no).    

   你可以再一个shell脚本中使用多个对话框。一些对话框如checklist可能会有输出文本到标准错误文件中,但是可以用
   "--output-fd","--stderr" ,"--stdout"这3个选项改变。若按下ESC则不输出文本。

选项:
   所有选项都以 '--' 开始。

常规选项(Common_Options):
   (1). --backtitle backtitle
                  指定背景上的标题。
   (2). --begin y x
       指定左上角位置。
   (3). --cancel-label string
       指定取消按钮文字,默认为"Cancel"
   (4). --clear
       清空屏幕上widget,仅保留背景色。该选项配合--and-widget这个选项一起用来清除屏幕上原来的widget。

    (5). --colors
       解析"\Z"中颜色字符,which tells dialog to set colors or video attributes: 0 through 7 are the
              ANSI used in curses: black, red, green, yellow, blue, magenta, cyan and white respectively.  Bold is set by ’b’, reset by ’B’.  Reverse is set by ’r’,  reset
              by  ’R’.   Underline  is  set by ’u’, reset by ’U’.  The settings are cumulative, e.g., "\Zb\Z1" makes the following text bold (perhaps bright) red.  Restore
              normal settings with "\Zn".
   (6).  --column-separator string
       告诉dialog以指定的字符为分隔符来解析radio/checkboxes和菜单内容。
   (7).  --cr-wrap
       解析换行符。
   (8).  --create-rc file
       当dialog支持运行是动态配置时,该选项用来转存配置到文件File中。
   (9).  --defaultno
       设置yes/no对话框默认值为No。
   (10). --default-item string
       设置checklist,form,menu等对话框默认项。默认为第一项。
   (11). --exit-label string
       设置退出字符串,默认为"EXIT"
   (12). --extra-button
       在"OK"和"Cancel"按钮中显示一个额外的按钮
   (13). --extra-label string
       额外按钮字符串,默认为"Rename".
   (14). --help-button,--help-label string,--help-status
       在“OK”和“Cancel”按钮后显示一个帮助按钮。
   (15). --input-fd fd
       从指定文件中读取键盘输入,默认为标准输入。
   (16). --insecure
       使密码输入框更友好,但更不按钮(即明文显示输入)
   (17). --keep-window
       通常'--and-widget'选项会使dialog执行许多tailboxbg小widget连接。dialog会通过重新画屏幕来清除旧的widget。改选项阻止重新画。
   (18).  --max-input size
       设置指定字符串长度
   (19).  --no-cancel,--nocancel 不显示取消按钮。
   (20).  --no-label string 覆盖"No"按钮字符串
   (21).  --output-fd fd 输出到指定文件,默认为标准错误文件。
   (22).  --print-maxsize 打印对话框最大大小。
   (23).  --title title 指定对话框标题。

对话框选项(Box_Options):
   所有对话框最少要3个参数: 文本(对话框中心内容),高度,宽度。
   下面是不同类型对话框的不同选项:
   --calendar Text Height Width Day Month Year
       日历对话框,输出格式day/month/year
       例如: dialog --title "标题" --calendar "测试" 15 60 17 07 2013
   --checklist text height width list-height [ tag item status ] ...
       复选框:输入选择列表的tag值,可以用--separate-output指定分隔符
       例如: dialog --backtitle "Checklist" --checklist "Test" 20 60 14 Memory Memory_Size 1 Dsik Disk_Size 2 --stdout
   --dselect Filepath Height Width
       文件选择:选中的文件名称
       例如: dialog --title "标题" --dselect /etc/inittab 16 50
   --editbox Filepath Height Width
       编辑框:编辑的文件内容(编辑的文件必需存在,不会真正编辑文件,只是编辑文件副本)
       例如: dialog --editbox /root/test.txt 16 50
   --form text height width formheight [ label y x item y x flen(字段长度) ilen(输入长度) ] ...
       表单框: 表单字段值
       例如: dialog --form "测试" 15 50 5 "姓名" 0 0 "name" 0 10 25 25
   --infobox text height width    
       提示框:无输出
       例如: dialog --infobox "提示内容" 15 50
   --inputbox text height width [init]
       单行文本输入框:输入字符串
       例如: dialog --inputbox "姓名" 15 50 "name"
   --menu text height width menu-height [ tag item ] ...
       菜单:输出选择的tag,menu-height菜单项高度,tag菜单项标识,item菜单项内容
       例如: dialog --menu "请选择" 15 50 5 item1 "菜单1" item2 "菜单2"
   --msgbox text height width
       消息框:无输出
       例如: dialog --msgbox "消息框内容" 15 50
   --pause text height width seconds
       暂停框:当暂停时间到达时退出对话框,无输出
       例如:dialog --pause "内容" 15 50  5
   --textbox file height width
       显示文件的内容:无输出
       例如: dialog --textbox /sh/test.sh 15 50
   --timebox text height width [hour minute second]
       时间选择框:hour:minute:second
       例如: dialog --timebox '请选择时间' 15 50
   --yesno text height width
       Yes/No选择框:无文本输出,可以$?查看状态,yes(0),no(1)