| 选项 | 描述 |
| --add-widged | 除非按Esc或Cancel键,否则继续进入下一个对话框 |
| --aspect ratio | 指定窗口宽度/高度的纵横比 |
| --backtitle title | 指定在屏幕顶部、背景上显示的标题 |
| --begin x y | 指定窗口左上角的起始位置 |
| --cancel-label label | 为 Cancel 按钮指定一个可供选择的标签 |
| --clear | 使用对话框默认背景色清除显示 |
| --colors | 允许在对话框文本中嵌入 ANSI 颜色代码 |
| --cr-wrap | 允许在对话框文本中加入换行符,强制换行 |
| --create-rc file | 转储样本配置文件至指定文件 |
| --defaultno | 将 yes/no 对话框默认值设置为 NO |
| --default-item string | 设置检查列表、表单或菜单对话框的默认项目 |
| --exit-label lable | 为 Exit 按钮指定可供选择的标签 |
| --help | 显示 dialog 命令的帮助信息 |
| --help-button | 在 OK 和 Cancel 按钮之后显示 help 按钮 |
| --help-label label | 为 help 按钮指定可供选择的标签 |
| --help-status | 在 help 按钮中的帮助信息被选中后,记录下检查列表、单选框列表或表单信息 |
| --ignore | 忽略 diglog 不能识别的选项 |
| --input-fd fd | 除 STDIN 之外,指定其他可供选择的文件描述符 |
| ---insecure | 更改 password 小部件以在输入时以星号显示 |
| --item-help | 在屏幕的底部,为检查列表、单选框列表、菜单中的每一个标签添加该标签的帮助 |
| --keep-window | 不要清除屏幕上的旧小部件 |
| --max-input size | 指定输入字符串的最大数,默认为2048 |
| --nocancel | 禁止 cancel 按钮 |
| --no-collapse | 在对话框文本中,不要将制表换行符转换为空格 |
| --no-kill | 将 tailboxbg 对话框放在背景中,并禁止该进程的 SIGHUP |
| --no-label label | 为 No 按钮指定一个可供选择的标签 |
| --no-shadow | 不要为对话框窗口显示阴影 |
| --ok-label label | 为 OK 按钮指定一个可供选择的标签 |
| --output-fd fd | 除了 STDERR 之外,指定可供选择的输出文件描述符 |
| --print-maxsize | 打印对话框窗口允许输出的最大尺寸 |
| --print-size | 将每个对话框窗口的尺寸打印至输出 |
| --print-version | 将对话框版本打印至输出 |
| --separator-output | 无需引用,将 checklist 小部件的结果一次一行的输出 |
| --separator-widget string | 指定一个字符串来隔离每个小部件的输出 |
| --shadow | 绘制阴影至每一个窗口的右下方 |
| --single-quoted | 需要时对检查列表输出使用单引用 |
| --sleep sec | 在处理对话框窗口后延迟指定的秒数 |
| --stderr | 将输出发送至 STDERR (默认行为) |
| --stdout | 将输出发送至 STDOUT |
| --tab-correct | 将换行符转换为空格 |
| --tab-len n | 指定一个制表符所使用的空格数(默认值为8) |
| --timeout sec | 指定在没有用户输入的情况下,用错误代码退出所需的秒数 |
| --title title | 指定对话框的窗口名称 |
| --trim | 删除对话框文本中字符串首部的空格和换行符 |
| --visit-items | 为了把项目列表包含在内,而修改对话框窗口中的制表符 |
| --yes-label label | 为 yes 按钮指定一个可供选择的标签 |
| --extra-label label | 为 Extra 按钮指定可供选择的标签 |
| --extra-button | 在 OK 和 Cancel 按钮之间,显示一个其他的按钮 |
| --separator string | 指定一个字符串来隔离每个小部件的输出 |
[Bash shell] 纯文本查看 复制代码
#!/bin/bash
temp=`mktemp -t test.XXXXXX`
temp2=`mktemp -t test2.XXXXXX`
function diskspace {
df -k > $temp
dialog --textbox $temp 20 60
}
function whois {
whoami > $temp
dialog --textbox $temp 20 50
}
function memusage {
cat /proc/meminfo > $temp
dialog --textbox $temp 20 50
}
while [ 1 ]
do
dialog --menu "System Admin" 20 30 10 1 "Disk space" 2 "who is" 3 "memory usage" 0 "Exit" 2>$temp2
if [ $? -eq 1 ]
then
break
fi
selection=`cat $temp2`
case $selection in
1)
diskspace ;;
2)
whois ;;
3)
memusage ;;
0)
break ;;
*)
dialog --msgbox "Sorry, wrong selection" 10 30
esac
done
rm -f $temp 2> /dev/null
rm -f $temp2 2> /dev/null