曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5657|回复: 2
打印 上一主题 下一主题

图形界面

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2009-2-1 23:22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简单使用 diglog 命令看看:
dialog --msgbox "hello world" 9 18

出现一下画面:

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
沙发
 楼主| 发表于 2009-2-2 12:13:55 | 只看该作者

示例-3

先建立一个消息框
#!/bin/sh

# Ask some questions and collect the answer

dialog --title "Questionnaire" --msgbox "Welcome to my simple survey" 9 18


说明
消息框(message box)参数格式: --msgbox text height width

消息框和 yes/no 框很相像。消息框和 yes/no 框仅有一点不同:消息框仅有一个单独的“OK”按钮。可以使用消息框显示任何你想显示的消息。直接按“ENTER”键就可以退出对话框,然后脚本就往下执行。



继续添加下面的代码
dialog --title "Confirm" --yesno "Are you willing to take part?" 9 18
if [ $? != 0 ]; then
        dialog --infobox "Thank you anyway" 5 20
        sleep 2
        dialog --clear
        exit 0
fi

在按上面消息框中的“OK”按钮后,脚本就会接着执行上面的这条命令,出现下图:


上面的对话框是 yesno 型,所以会有 “yes” 和 “no”两个选项。

if 语句中 $? 参数表示上条命令的执行结果状态返回,0表示无错,非0 表示有错。
有错的话就放出一个 infobox 的对话框,输出相关消息。接着睡眠2秒(以让人看清楚是什么消息),最后退出。
-----------------------------------------------------------
infobox 用法:--infobox text height width
“info box”基本上也是个消息框。在这里,对话框在把消息展示给用户后会立即退出。当退出对话框时,并未进行清屏而是一直保持,需要在脚本中下达命令将其清屏。当你想通知用户一些操作在继续中而需要一些时间才能完成时,这就是非常有用的。在退出时,对话框并不输出什么文本,只有一个“OK”按钮提供让你输入,但是一个“ESC”的退出状态可能返回。

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
板凳
 楼主| 发表于 2009-2-2 10:24:36 | 只看该作者

脚本图形示例-2

输入以下命令:
 dialog --title "Check me" --checklist "Pick Numbers" 15 25 3 1 "one" "off" 2 "two" "on" 3 "three" "off"

出现如下图:


命令说明
--checklist 参数指定可以创建一个 checklist-type 类型的对话框。
--title 选项设置整个标题为“check me”. "Pick Numbers" 是个提示信息,说明下面的“checklist”大约是做什么的。

接着,设置对话框的尺寸。这里,设置对话框 15 列高,25个字符宽度,菜单高度为 3 列。

也就是说,checklist 对话框,需要设置的几个参数会包括:对话框的长宽,对话框中菜单中的高度。
-----------------------------------------------------------------------------------------

像 1 "one" 这样的两个参数是必须的,不然会出错。当然 1 可以写成别的字母,one 也可以更改成别的内容。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 07:38 , Processed in 0.068508 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表