Whiptail 是一個工具,可讓您顯示來自 shell 腳本的對話框。這使得 shell 腳本看起來更酷、更專業,同時仍然提供廣泛的功能。
在本模塊中,您將學習如何使用 鞭尾 使用 shell 腳本讓它們變得更好!
附上鞭尾
安裝鞭尾很容易。要安裝,請鍵入:
$ sudo apt install whiptail
鞭尾箱
鞭尾魚有許多不同類型的盒子可供選擇。以下是whiptail 提供的一些更重要的功能。
1.添加一個是/否框
生成這樣一個框的語法是:
$ whiptail --yesno [TEXT] [HEIGHT] [WIDTH]
是/否框允許您根據用戶選擇控制執行流程。
如果用戶選擇是,whiptail 返回值 1。如果用戶選擇否,則返回值 0。如果發生錯誤或用戶在未指定選擇的情況下退出,則返回 -1。
2.消息框
生成消息框的語法是:
$ whiptail --msgbox [TEXT] [HEIGHT] [WIDTH]
消息框是[OK]它與是/否框非常相似,只是它只有按鈕。在提示時輸入它,shell 腳本將繼續執行。
3.輸入框
輸入框是whiptail 最重要的功能之一。創建輸入框的語法是:
$ whiptail --inputbox [TEXT] [HEIGHT] [WIDTH] [INIT]
我們還啟用了滾動功能,以便在輸入字符串長於對話框寬度時輸入字段滾動。您還可以指定一個字符串(INIT),用於初始化輸入框。此外,如果出現拼寫錯誤,用戶可以使用退格鍵更正輸入。

默認情況下,消息 標準誤 但是您也可以將輸出存儲在一個變量中並在您的 shell 腳本中使用它!
4. 密碼箱
密碼框與輸入框非常相似,只是輸入不會反映給用戶。它的語法也類似於輸入框。
$ whiptail --passwordbox [TEXT] [HEIGHT] [WIDTH] [INIT]
您也可以使用 INIT 來指定“默認密碼”,但非常不鼓勵這樣做。

4.菜單框
顧名思義,菜單框提供了一個可供選擇的選項列表。相同的語法是:
$ whiptail --menu [TEXT] [HEIGHT] [WIDTH] [MENU HEIGHT] [TAG] [ITEM]
您還需要在此處指定 MENU HEIGHT,它決定了 Prompt 菜單中顯示的項目數。接下來,我們需要指定一個ITEM 和一個TAG 來標識該項目。Whiptails 是可滾動的,因此您可以指定任何數字

退出時,whiptail 會將選中的 TAG 更改為 標準誤.
5. 其他箱子
鞭尾魚仍然有各種盒子,例如:
- 消息窗口
- 列錶框
- 單箱
- 樂器盒
您可以使用 man 命令獲得這些內容的完整概述。
$ man whiptail
鞭尾選項
您可以使用標誌來進一步自定義whiptail 提示。
- -清除 :退出時在屏幕屬性中清除屏幕。如果啟用了備用屏幕切換,這對 xterm(和後代)不起作用。因為當時的俚語是寫(並清除)備用屏幕。
- –默認沒有 :打開一個對話框,光標位於“否”按鈕上。
- – 是按鈕 [TEXT] : change 是按鈕文本
- – 沒有按鈕 [TEXT] :無需按鈕即可更改文本
- – 在項目中 :菜單、清單和單選列表小部件僅顯示標籤,不顯示項目字符串。菜單小部件仍然需要指定一些項目,但列表和單選只需要標籤和狀態。
- – 標籤 :不在菜單、清單和單選列表小部件中顯示標籤。
- – 輸出 FD [FD] :直接輸出whiptail到特定的文件描述還
- -標題 [TEXT] : 設置框的標題
結論是
因此,在本模塊中,您學習瞭如何有效地使用whiptail 編寫有效的shell 腳本。這使 shell 腳本具有非常專業的外觀並改善了用戶體驗。您還可以從手冊頁進一步探索該工具!