国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

利用shell創建文本菜單與窗口部件的方法

2019-10-26 18:55:49
字體:
來源:轉載
供稿:網友

前言

創建交互式shell腳本最常用的方法是使用菜單。提供各種選項可以幫助腳本用戶了解腳本能做什么,不能做什么;通常菜單腳本會清空顯示區域,然后顯示可用的選項列表。本文給大家詳細介紹了shell創建文本菜單與窗口部件的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

創建文本菜單

創建交互式shell腳本最常用的方法是使用菜單,它提供了各種選項幫助腳本用戶了解腳本能做到的和不能做的。

shell腳本菜單的核心是case命令,該命令會根據用戶在菜單上的選擇來執行特定命令。

下面我們逐步了解和創建基于菜單的shell腳本的步驟。

創建菜單布局

第一步是決定在菜單上顯示哪些元素以及想要顯示的布局方式。

在創建菜單前,通常先清空顯示器上已有的內容。這樣能在干凈的,沒有干擾的環境中顯示菜單了。

clear命令使用當前終端的terminfo數據來清理出現在屏幕上的文字。運行clear命令后可以使用echo命令顯示菜單元素。

默認,echo命令只顯示可打印的文本字符。而在創建菜單時一些非文本字符也非常有用,比如制表符和換行符。我們需要添加-e選項使得echo命令能解析包含在其中的非文本字符。

例如,

wsx@wsx:~/tmp$ echo -e "1./tDisplay disk space"1. Display disk space

這對于格式化菜單項布局非常方便,只需要幾個echo命令就可以創建一個還不錯的菜單。

clearechoecho -e "/t/t/tSys Admin Menu/n"echo -e "/t1. Display disk space"echo -e "/t2. Display logged on users"echo -e "/t3. Display memory usage"echo -e "/t0. Exit menu/n/n"echo -en "/t/tEnter an option: "

最后一行-en選項去掉末尾換行符使得菜單更專業點,光標會在行尾等待用戶輸入。

創建菜單的最后一步是獲取用戶輸入。這一步用read命令。因為我們只期望用戶使用單字符輸入,在命令加-n選項進行限定。這樣用戶只需要輸入一個數字,不用摁回車鍵。

read -n 1 option

創建菜單函數

shell腳本菜單選項作為一組獨立的函數實現起來更為容易。要做到這一點,你要為每個菜單項創建獨立的shell函數。第一步是決定你希望腳本執行那些功能,然后將這些功能以函數的形式放在代碼中。

通常我們會為還沒有實現的函數先創建一個樁函數,它是一個控函數,或者只有一個echo語句,說明最終這里需要什么內容。

function diskspace { clear echo "This is where the diskspace commands will do"}

這允許菜單在我實現某個函數時仍然能正常操作。不需要我們寫出所有函數之后才能讓菜單投入使用。函數從clear命令開始,這樣我們就能在一個干凈的屏幕上執行該函數,不會收到原先菜單的干擾。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑水县| 金溪县| 合山市| 溧水县| 西吉县| 保靖县| 麦盖提县| 淄博市| 河西区| 澄城县| 恩平市| 咸丰县| 库车县| 衡东县| 黔南| 云安县| 东城区| 沂源县| 嘉鱼县| 岳池县| 德令哈市| 平乡县| 霍邱县| 偃师市| 定远县| 左云县| 瓦房店市| 社会| 曲水县| 都昌县| 黄龙县| 吉水县| 敦煌市| 钟山县| 万全县| 伊通| 普格县| 江北区| 巴林右旗| 太和县| 仁布县|