shell的图形化工具(七)
隨著新工具的出現(xiàn),在shell中也能夠進(jìn)行圖形化的編程了,不過這些比起用java或者其他的高級(jí)語言實(shí)現(xiàn)的圖形界面是非常簡(jiǎn)陋的。
7.1 dialog的普通使用
我們先來顯示一個(gè)普通的文本框,來看看。在命令行下輸入如下的命令:
dialog –msgbox “this is content” 10 20
產(chǎn)生如下的界面
如果提示沒有安裝dialog,請(qǐng)安裝dialog。下面的指令是在Ubuntu下安裝dialog
sudo apt-get install dialog
注意:dialog會(huì)將內(nèi)容輸出到錯(cuò)誤輸出流中,因此可以通過錯(cuò)誤輸出流來獲得內(nèi)容,點(diǎn)擊ok按鈕返回0,點(diǎn)擊cancel返回1.可以通過$?來判斷點(diǎn)擊的是哪一個(gè)按鈕
對(duì)上面的指令進(jìn)行詳細(xì)說明,dialog的使用格式如下:
dialog 通用選項(xiàng) box選項(xiàng)
7.2.dialog 有兩類選項(xiàng),一種叫做通用選項(xiàng),一種叫box選項(xiàng)。
通用選項(xiàng):對(duì)所有的指令都適用。
box選項(xiàng):專門構(gòu)建各種box的選項(xiàng)。
常見的通用選項(xiàng)如下,這里并沒有列出完整的通用選項(xiàng),可以通過man dialog進(jìn)行查看(外加一個(gè)英語詞典):
–colors:調(diào)整字體顏色.man dialog查看該選項(xiàng),原文如下:
Interpret embedded “\Z” sequences in the dialog text by the following character, which tells dialog to set colors or video attributes: 0 through 7 are the ANSI used in curses: black, red, green, yellow, blue, magenta, cyan and white respectively. Bold is set by ‘b’, reset by ‘B’. Reverse is set by ‘r’, reset by ‘R’. Underline is set by ‘u’, reset by ‘U’. The settings are cumulative, e.g., “\Zb\Z1” makes the following text bold (perhaps bright) red. Restore normal settings with “\Zn”.
大致翻譯如下:通過寫在文本里面的反斜杠字符’\Z’,來告訴dialog應(yīng)該顯示怎樣的顏色屬性:這里有0-7個(gè)數(shù)字,分別表示,黑色,紅色,綠色,黃色,藍(lán)色,品紅色,青色和白色。粗體使用字符b,取消粗體使用B。反白使用r(類似于字體被選中的情況),取消反白使用R。下劃線使用u,取消下劃線使用U。舉例如下:
鍵入如下的命令:
效果如下:
解釋如下:\Z1后面的字體使用紅色,因此后面三個(gè)wanbiao使用紅色字體。\Zb后面使用粗體,因此倒數(shù)第二個(gè)wanbiao使用粗體,加紅色,\ZB取消粗體,\Zu使用下劃線,因此最后一個(gè)wanbiao使用了紅色,非粗體,加下劃線。
–ok-label string:使用指定的字符串,替換原生的ok。如下:
效果如下:
–cancel-label string:用指定的字符串,替換原生的cancel,類似于上面的選項(xiàng)。
–no-shadow :取消掉陰影,這在某些遠(yuǎn)程終端上比較常用,遠(yuǎn)程終端有時(shí)是使用字符來替代陰影,因此顯得比較混亂,可以使用此選項(xiàng)關(guān)閉陰影。
–shadow:同上,顯示陰影。
–clear:清除操作。
–timeout seconds:再給定秒的時(shí)間內(nèi),沒有操作,將會(huì)產(chǎn)生超時(shí),設(shè)置0秒的話,將會(huì)直接忽略。超時(shí)之后,返回一個(gè)255的錯(cuò)誤碼
還有一些通用選項(xiàng),沒有列出,可以通過man進(jìn)行查看。
二.box選項(xiàng)
msgbox:顯示一個(gè)信息框,用法如下:
dialog –msgbox text height width上面所有的列子都是以—msgbox來舉例的,這里不再舉例。
–checklist:顯示一個(gè)選項(xiàng)列表,用法如下:
dialog –checklist text height width list-height [ tag item status ] …
效果如下:
–form:表單,使用樣式如下:
dialog –form text height width formheight [ label y x item y x flen ilen ]
label y x 表示在y行x列顯示label
item y x 表示在y行x列顯示item
flen 表示filed length,字段長(zhǎng)度
ilen 表示input length,輸入的字符長(zhǎng)度。
示例如下:
效果圖如下:
–fselect :文件選擇器。
dialog –fselect filepath height width
效果如下:
–gauge:進(jìn)度條
dialog text height width [percent]
效果如下:
下面寫一個(gè)動(dòng)態(tài)的進(jìn)度條,使用for循環(huán)傳遞數(shù)值給dialog如下:
圖片不能顯示動(dòng)態(tài)的效果,因此,可以自己手動(dòng)試一下。
–infobox text height width:跟—msgbox類似,這里不再舉例,不過他是一個(gè)消息框,彈出之后,馬上就返回了。
–inputbox text height width [init]:輸入框,如下示例:
效果如下:
剩下的box選項(xiàng)還包括:
–inputmenu
–menu
–pause
–passwordbox
–passwordform
–radiolist
–timebox
–calendar
等等一系列的box選項(xiàng),這些選項(xiàng),可以通過man手冊(cè),獲取。此處不再贅述。
三.綜合運(yùn)用
這里顯示一個(gè)例子,類似于用戶登錄,
1.首先輸入用戶名和密碼,點(diǎn)擊確定按鈕后
2.驗(yàn)證是否正確,正確密碼為123456
代碼如下:
注意,密碼框應(yīng)該是用真正的—passwordbox。
自此,shell的基礎(chǔ)已經(jīng)復(fù)習(xí)完畢,下面的一個(gè)專題是如何自己開發(fā)這種類似的dialog工具。
效果圖如下:
總結(jié)
以上是生活随笔為你收集整理的shell的图形化工具(七)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在观念上进行大的转变
- 下一篇: SQL获取当前时间的前10天