linux shell 圖形界面之dialog小結

內容導述:

    1、命令說明 

    2、命令概要

    3、框體類型

    4、通用選項

    5、命令用法

    6、命令示例

命令說明:
   liunx 下的dialog 工具是一個可以和shell腳本配合使用的文本界面下的創建對話框的工具。

每個對話框提供的輸出有兩種形式:
   1.  將所有輸出用stderr 輸出,不顯示到屏幕。
   2.  使用退出狀態碼,“OK”爲0,“NO”爲1

命令概要:

   dialog --clear
   dialog --create-rc file
   dialog --print-maxsize
   dialog common-options box-options


窗體類型:
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按鈕的簡單信息框


通用選項 common options:

         這個選項來設置dialog box的背景,顏色和 標題等。

 

常用選項說明:
[--title <title>] 
指定將在對話框的上方顯示的標題字符串
[--colors]    解讀嵌入式“\ Z”的對話框中的特殊文本序列,序列由下面的字符 0-7, b  B, u, U等,恢復正常的設置使用“\Zn”。
[--no-shadow]   禁止陰影出現在每個對話框的底部
[--shadow]   應該是出現陰影效果

 

[--insecure]   輸入部件的密碼時,明文顯示不安全,使用星號來代表每個字符
[--no-cancel]   設置在輸入框,菜單,和複選框中,不顯示“cancel”項
[--clear]   完成清屏操作。在框體顯示結束後,清除框體。這個參數只能單獨使用,不能和別的參數聯合使用。
[--ok-label <str>]   覆蓋使用“OK”按鈕的標籤,換做其他字符。
[--cancel-label <str>]  功能同上
[--backtitle <backtitle>]
指定的backtitle字符串顯示在背景頂端。
[--begin <y> <x>]   指定對話框左上角在屏幕的上的做座標
[--timeout <secs>]   超時(返回的錯誤代碼),如果用戶在指定的時間內沒有給出相應動作,就按超時處理
[--defaultno]   使的是默認值 yes/no,使用no
[--sleep <secs>]
[--stderr]  以標準錯誤方式輸出
[--stdout]  以標準方式輸出
[--default-item <str>] 
設置在一份清單,表格或菜單中的默認項目。通常在框中的第一項是默認
   
其餘各種選項可以自行從man文檔裏面查找.
[--aspect <ratio>]  [--backtitle <backtitle>]  [--begin <y> <x>] [--cr-wrap]  [--item-help] [--no-collapse]
[--default-item <str>]  [--defaultno]   [--extra-button]  [--extra-label <str>]  [--help-button] [--no-kill]
[--help-label <str>]  [--help-status]  [--ignore]  [--input-fd <fd>] [--keep-window]  [--max-input <n>]
[--output-fd <fd>]  [--print-maxsize]  [--print-size]  [--print-version]  [--separate-output] [--size-err]
[--separate-widget <str>]  [--single-quoted]  [--sleep <secs>]  [--tab-correct] [--tab-len <n>]
[--timeout <secs>]  [--trim]  [--visit-items]  [--version]

 

附註:

--cr-wrap
解釋對話框內的文本換行相當於一個新行。另外。dialog只會控制文本適應對話框。即使你可以控制一行突破這個規則,dialog也會自動調整所有在對話框內的文本使他們與對話框的寬度一樣。不用cr-wrap,文本的版面會排列成腳本的原始規則。
--colors 
解釋內含在對話框的”\Z”的順序屬性。他告訴對話框設置顏色或者視頻屬性:
0到7是ANSI碼在curses中分別指定爲:黑色,紅色,綠色,黃色,藍色,紫紅色,藍綠色和白色。
粗體用’b’設置,重設用‘B’。背面用’r’設置,重設用’R’。下劃線用’u’設置,重設用’U’。所做出的改動將會累積起來。例如,”\Zb\Z1’”表示文本顯示紅色。恢復正常的設置用”\Zn”
--input-fd fd
從給定的文件描述符中讀取鍵盤輸入。大部分的dialog腳本從標準輸入讀取,但是gauge組件從管道讀取(那通常是標準輸入)。當dialog試着重新打開終端時一些配置不能嚴格執行。如果你的腳本必須工作在那種類型的環境中,可以使用這個選項.

--output-fd fd
直接輸出到給定的文件描述符。多數dialog腳本寫到標準輸出,但是錯誤信息可能也被輸出到那裏,這取決於你的腳本。


--insecure
輸入密碼時回顯星號(×),將使得passwd組件更友好但較不安全。

--keep-window
退出時不清屏和重繪窗口。當幾個組件在同一個程序中運行時,對於保留窗口內容很有用的。
注意,curses在開始一個新的處理時會清空屏幕。

--max-input size
限制輸入的字符串在給定的大小之內。如果沒有指定,默認是2048。

--separate-output
對於chicklist組件,輸出結果一次輸出一行,沒有限額.這一便利的分離可以被別的程序使用。

--separator string
--separate-widget string

指定一個分隔符,分離dialog中每個組件的輸出。它可以用來簡單地分析一個dialog中幾個組件的結果。如果沒有給出這個選項,默認的分隔符是一個tab符號。

--sleep secs
在處理完一個對話框後靜止(延遲)的時間(秒)。

 


命令用法Box options:
  --calendar    
<text> <height> <width> <day> <month> <year>
  --checklist   
<text> <height> <width> <list height> <tag1> <item1> <status1>...
  --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>...
  --msgbox      
<text> <height> <width>
  --passwordbox 
<text> <height> <width> [<init>]
  --pause       
<text> <height> <width> <seconds>
  --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>

 

使用附註:

  可以在一個腳本中放置一個或多個對話框
- 使用 –and-widget 表示強制Dialog處理到下一個dialog直到按下ESC鍵取消。
- 簡單地加一個標誌給下一個對話框,組合成一條鏈。當一個dialog的返回值爲非0,比如,Cancel或者No(查看診斷),dialog就會停止。
一些部件,比如,清單,會寫文本到dialog的輸出。
一般情況下是標準錯誤,但是這裏有一些選項可以改變它: --output-fd,--stderr 和 --stdout。
在按下Cancel(或ESC)時不會寫入文本;這種情況下dialog會立即退出。

 

選項附註:

所有的選項以"--"開頭。

單獨的”--“符號作爲跳脫符(ESCAPE)使用,也就是說,命令行上的下一個標記不作爲一個選項。

例:dialog --title --  --NotAnOption

--file 選項告訴dialog從文件中讀取參數作爲它的值。

例:dialog --file parameterfile

 

命令示例:

 

不再貼圖, /usr/share/doc/dialog/sample/  下有各中框體的使用示例。可以通過查看腳本示例熟悉功能來使用。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章