Shell的GUI编程
来源:互联网 发布:收获日2优化 编辑:程序博客网 时间:2024/06/06 00:53
Shell的GUI编程
- dialog软件包是一个制作窗口的极好工具,利用ANSI转义控制码在文本环境中重新创建了标准Windows对话框。可以很方便地将这些对话框合并到shell脚本中来与脚本用户进行交互。
- dialog命令使用命令行参数确定生成的Windows小部件的类型。dialog软件包目前支持的小部件类型如下:
- 要在命令行上具体指定一个特定的小部件,需要使用双破折号格式:dialog --widget parameters #parameters定义该小部件窗口的大小以及它所需的任何文本
- 每个对话框小部件均以两种形式提供输出:
1. 使用STDERR:`dialog --inputbox "Enter your age :" 10 20 2>age.txt`2. 使用退出代码状态
dialog常用部件
msgbox小部件:
dialog --msgbox text height width
。dialog命令将使用heigth和width参数自动调整文本以适应所创建的窗口大小。放置标题,使用--title
参数以及标题文本。必须放在–msgbox参数之前。- yesno小部件:e.g:
dialog --title "test" --yesno "我是白痴吗?" 10 20
- 输入框小部件(inputbox):dialog命令将文本字符串的值发送到STDERR。必须重定向此值来获取答案:e.g:
dialog --inputbox "Enter your age:" 10 20 2>age.txt
- 文本框小部件(textbox):e.g:
dialog --textbox /etc/passwd 50 150
窗口包含参数指定的文件的文本。 - 菜单小部件(menu):
dialog --menu "Sys Admin Menu"20 30 10 1 "Display disk space" 2 "Display users" 3 "Display memory usage 4 "Exit " 2>test.txt
第一个参数定义菜单的标题。后两个参数定义菜单窗口的高度和宽度,而第三个参数定义同时出现在窗口中的菜单项数。这些参数之后,必须添加菜单项目对。 - fselect小部件:浏览文件从而选择文件:e.g:
dialog --title "Select a file" --fselect $HOME/ 10 50 2>test.txt
fselect后的第一个参数是窗口所使用的起始位置。 - dialog命令选项
- -add-widget
- -aspect ratio
- -backtitle title
- -bedin x y
- -cancel-label lable
- -clear
- -colors
- -cr-wrap
- -create-rc file
- -defaultno
- -default-item string
- -exit-label label
- -extra-button
- -extra-label label
- -help
- 在脚本中使用dialog命令:在脚本中使用dialog命令是一件非常容易的事,只需记住两点:
1. 如果Cancel或No按钮可用,请检查dialog命令的退出状态。
2. 重定向STDERR以获取输出值。
#!/bin/bash#using gdialog to create a menutemp=`mktemp -t test.XXXXXX`temp2=`mktemp -t test2.XXXXXX`disk() { df -k > $temp gdialog --textbox $temp 20 60}users() { who > $temp gdialog --textbox $temp 20 60}memusage() { cat /proc/meminfo > $temp gdialog --textbox $temp 20 60}while [ 1 ]do gdialog --menu "Sys Admin Menu" 20 30 10 1 "Display disk space" 2 "Display users" 3 "Display memory usage" 0 "Exit" 2> $temp2if [ $? -eq 1 ]then breakfiselection=`cat $temp2`case $selection in1) disk;;2) users;;3) memusage;;0) break;;*) gdialog --msgbox "Sorry,invalid selection" 10 30esacdonerm -f $temp 2> /dev/nullrm -f $temp2 2> /dev/null
- KDE和GNOME桌面环境都扩充了dialog命令:KDE环境下默认包括kdialog软件包,GNOME环境下默认包括gdialog和zenity软件包。
0 0
- Shell的GUI编程
- dialog shell下的gui设计 代替繁杂libncurses编程
- AWT的GUI编程
- Python的GUI编程
- JAVA的GUI编程
- python的GUI编程
- Java GUI编程的基础知识
- java的GUI界面编程
- GUI编程:菜单的操作
- 浅尝Python 的GUI编程
- Python的GUI编程入门
- 日志一:GUI的初始和GUI编程初步
- GUI编程
- GUI编程
- GUI编程
- GUI编程
- GUI编程
- GUI编程
- sed高级编程(一)
- spring 定时器配置
- Android 学习
- sed高级编程(二)
- 【安卓面试】Android 70道面试题(2015.12)
- Shell的GUI编程
- Two sum题解
- 九度oj 素数 1047,1163,1040,1140
- Android应用开发:如何在App中植入广告?
- POJ 3279 Fliptile(反转)
- shell脚本编程(一)
- Python函数式编程——map()、reduce()
- php 查找数组元素提高效率方法
- shell脚本编程(二)