dialog 菜单

时间:2023-11-13 00:06:14

dialog 菜单

# 默认将所有输出用 stderr 输出,不显示到屏幕 使用参数 --stdout 可将选择赋给变量
# 退出状态 0正确 1错误

窗体类型

--calendar          # 日历
--checklist # 允许你显示一个选项列表,每个选项都可以被单独的选择 (复选框)
--form # 表单,允许您建立一个带标签的文本字段,并要求填写
--fselect # 提供一个路径,让你选择浏览的文件
--gauge # 显示一个表,呈现出完成的百分比,就是显示出进度条。
--infobox # 显示消息后,(没有等待响应)对话框立刻返回,但不清除屏幕(信息框)
--inputbox # 让用户输入文本(输入框)
--inputmenu # 提供一个可供用户编辑的菜单(可编辑的菜单框)
--menu # 显示一个列表供用户选择(菜单框)
--msgbox(message) # 显示一条消息,并要求用户选择一个确定按钮(消息框)
--password # 密码框,显示一个输入框,它隐藏文本
--pause # 显示一个表格用来显示一个指定的暂停期的状态
--radiolist # 提供一个菜单项目组,但是只有一个项目,可以选择(单选框)
--tailbox # 在一个滚动窗口文件中使用tail命令来显示文本
--tailboxbg # 跟tailbox类似,但是在background模式下操作
--textbox # 在带有滚动条的文本框中显示文件的内容 (文本框)
--timebox # 提供一个窗口,选择小时,分钟,秒
--yesno(yes/no) # 提供一个带有yes和no按钮的简单信息框

 窗体参数

--separate-output          # 对于chicklist组件,输出结果一次输出一行,得到结果不加引号
--ok-label "提交" # 确定按钮名称
--cancel-label "取消" # 取消按钮名称
--title "标题" # 标题名称
--stdout # 将所有输出用 stdout 输出
--backtitle "上标" # 窗体上标
--no-shadow # 去掉窗体阴影
--menu "菜单名" 20 60 14 # 菜单及窗口大小
--clear # 完成后清屏操作
--no-cancel # 不显示取消项
--insecure # 使用星号来代表每个字符
--begin <y> <x> # 指定对话框左上角在屏幕的上的做坐标
--timeout <秒> # 超时,返回的错误代码255,如果用户在指定的时间内没有给出相应动作,就按超时处理
--defaultno # 使选择默认为no
--default-item <str> # 设置在一份清单,表格或菜单中的默认项目。通常在框中的第一项是默认
--sleep 5 # 在处理完一个对话框后静止(延迟)的时间(秒)
--max-input size # 限制输入的字符串在给定的大小之内。如果没有指定,默认是2048
--keep-window # 退出时不清屏和重绘窗口。当几个组件在同一个程序中运行时,对于保留窗口内容很有用的

  dislog 常用模块

dialog --title "Check me" --checklist "Pick Numbers" 15 25 3 1 "one" "off" 2 "two" "on"         # 多选界面[方括号]
dialog --title "title" --radiolist "checklist" 20 60 14 tag1 "item1" on tag2 "item2" off # 多选界面(圆括号)
dialog --title "title" --menu "MENU" 20 60 14 tag1 "item1" tag2 "item2" # 单选界面
dialog --title "Installation" --backtitle "Star Linux" --gauge "Linux Kernel" 10 60 50 # 进度条
dialog --title "标题" --backtitle "Dialog" --yesno "说明" 20 60 # 选择yes/no
dialog --title "公告标题" --backtitle "Dialog" --msgbox "内容" 20 60 # 公告
dialog --title "hey" --backtitle "Dialog" --infobox "Is everything okay?" 10 60 # 显示讯息后立即离开
dialog --title "hey" --backtitle "Dialog" --inputbox "Is okay?" 10 60 "yes" # 输入对话框
dialog --title "Array 30" --backtitle "All " --textbox /root/txt 20 75 # 显示文档内容
dialog --title "Add" --form "input" 12 40 4 "user" 1 1 "" 1 15 15 0 "name" 2 1 "" 2 15 15 0 # 多条输入对话框
dialog --title "Password" --insecure --passwordbox "请输入密码" 10 35 # 星号显示输入--insecure
dialog --stdout --title "日历" --calendar "请选择" 0 0 9 1 2010 # 选择日期
dialog --title "title" --menu "MENU" 20 60 14 tag1 "item1" tag2 "item2" 2>tmp # 取到结果放到文件中(以标准错误输出结果)
a=`dialog --title "title" --stdout --menu "MENU" 20 60 14 tag1 "item1" tag2 "item2"` # 选择操作赋给变量(使用标准输出)