注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

独木人生

感悟生命

 
 
 

日志

 
 

dialog使用笔记(1)  

2007-08-19 14:55:16|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在文本界面的Linux环境中,dialog工具可以提供类似GUI效果的程序界面,在早期的安装程序中用得比较多。像现在的FreeBSD还是采用dialog编写安装界面,Linux kernel也利用同样的工具提供menu。Debian中的rcconf用于配置系统services的启动选项,提供基于dialog的菜单。

下面给出dialog的一些描述:

(1)来源:

由于在LFS/BLFS下进行工作,只能下载源码自己编译。从gentoo的mirror下载,地址如下:

ftp://ftp.gtlib.gatech.edu/nv/ao1/lxmirror/ftp.gentoo.com/distfiles/dialog-1.1-20070704.tgz

当然kernel中也有xdialog的源码,应该也可以使用。


(2)dialog --help


cdialog (ComeOn Dialog!) version 1.1-20070704
Copyright 2000-2006,2007 Thomas E. Dickey
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

* Display dialog boxes from shell scripts *

Usage: dialog <options> { --and-widget <options> }
where options are "common" options, followed by "box" options

Special options:
  [--create-rc "file"]
Common options:
  [--ascii-lines] [--aspect <ratio>] [--backtitle <backtitle>]
  [--begin <y> <x>] [--cancel-label <str>] [--clear] [--colors]
  [--cr-wrap] [--default-item <str>] [--defaultno] [--exit-label <str>]
  [--extra-button] [--extra-label <str>] [--help-button]
  [--help-label <str>] [--help-status] [--ignore] [--input-fd <fd>]
  [--insecure] [--item-help] [--keep-tite] [--keep-window]
  [--max-input <n>] [--no-cancel] [--no-collapse] [--no-kill]
  [--no-label <str>] [--no-lines] [--no-shadow] [--ok-label <str>]
  [--output-fd <fd>] [--print-maxsize] [--print-size] [--print-version]
  [--separate-output] [--separate-widget <str>] [--shadow]
  [--single-quoted] [--size-err] [--sleep <secs>] [--stderr] [--stdout]
  [--tab-correct] [--tab-len <n>] [--timeout <secs>] [--title <title>]
  [--trace <file>] [--trim] [--version] [--visit-items]
  [--yes-label <str>]
Box options:
  --calendar     <text> <height> <width> <day> <month> <year>
  --checklist    <text> <height> <width> <list height> <tag1> <item1> <status1>...
  --dselect      <directory> <height> <width>
  --editbox      <file> <height> <width>
  --form         <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>...
  --fselect      <filepath> <height> <width>
  --gauge        <text> <height> <width> [<percent>]
  --infobox      <text> <height> <width>
  --inputbox     <text> <height> <width> [<init>]
  --inputmenu    <text> <height> <width> <menu height> <tag1> <item1>...
  --menu         <text> <height> <width> <menu height> <tag1> <item1>...
  --mixedform    <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1> <itype>...
  --mixedgauge   <text> <height> <width> <percent> <tag1> <item1>...
  --msgbox       <text> <height> <width>
  --passwordbox  <text> <height> <width> [<init>]
  --passwordform <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>...
  --pause        <text> <height> <width> <seconds>
  --progressbox  <height> <width>
  --radiolist    <text> <height> <width> <list height> <tag1> <item1> <status1>...
  --tailbox      <file> <height> <width>
  --tailboxbg    <file> <height> <width>
  --textbox      <file> <height> <width>
  --timebox      <text> <height> <width> <hour> <minute> <second>
  --yesno        <text> <height> <width>

Auto-size with height and width = 0. Maximize with height and width = -1.
Global-auto-size if also menu_height/list_height = 0.

可以看到,dialog的功能是由脚本控制提供各种box,也就是大大小小的框图。

(3)简单示例

下面的例子给出一个yes/no选择框,再根据用户的回答,显示相应的消息框。

#!/bin/bash

if dialog --title "hello" --backtitle "Dialog" \
   --yesno "Is everything okay" 20 60 ;
then
   dialog --title "Your answer" --backtitle "Dialog" \
   --msgbox "Yeah..." 20 60
else
   dialog --title "Your answer" --backtitle "Dialog" \
   --msgbox "Nap..." 20 60
fi




  评论这张
 
阅读(571)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017