Whiptail 是一個允許 shell 腳本顯示對話框的工具。這使得 shell 腳本看起來更酷、更專業,但仍然提供了廣泛的功能。

在本模塊中,您將學習如何使用 鞭尾 使用 shell 腳本讓它們變得更好!

安裝鞭尾

安裝鞭尾非常容易。要安裝,請鍵入:

$ sudo apt install whiptail

鞭尾箱

您可以為鞭尾選擇不同類型的盒子。以下是 Whiptail 提供的一些更重要的功能。

1.添加一個是/否框

創建這樣一個盒子的語法是:

$ whiptail --yesno [TEXT] [HEIGHT] [WIDTH]

[はい]//[いいえ]框允許您根據您的選擇控制執行流程。

是否提示

如果用戶選擇 Yes,whiptail 返回值 1。否則,如果用戶選擇否,則返回值 0。 如果whiptail 失敗或用戶沒有選擇退出,則返回-1。

2.消息框

生成消息框的語法是:

$ whiptail --msgbox [TEXT] [HEIGHT] [WIDTH]

消息框是[OK]除了只有按鈕[はい]//[いいえ]非常類似於一個盒子。出現提示時按 Enter,shell 腳本將繼續運行。

消息框

3.輸入框

輸入框是鞭尾的一些最重要的特徵。創建輸入框的語法是:

$ whiptail --inputbox [TEXT] [HEIGHT] [WIDTH] [INIT]

此外,如果啟用滾動並且輸入字符串長於對話框的寬度,則輸入字段將滾動。您還可以指定一個字符串(INIT),用於初始化輸入框。如果出現拼寫錯誤,用戶還可以使用退格鍵更正輸入。

輸入框輸入框

默認情況下,消息輸出到 標準誤差 但是,您也可以將輸出存儲在變量中並在 shell scipts 中使用它。

4. 鎖箱

密碼框與輸入框非常相似,只是您輸入的內容不會反映給用戶。它的語法也類似於輸入框。

$ whiptail --passwordbox [TEXT] [HEIGHT] [WIDTH] [INIT]

您也可以使用 INIT 來指定“默認密碼”,但實際上並不推薦這樣做。

密碼框密碼框

4.菜單框

顧名思義,菜單框顯示可用選項的列表。相同的語法如下:

$ whiptail --menu [TEXT] [HEIGHT] [WIDTH] [MENU HEIGHT] [TAG] [ITEM] 

這裡,[プロンプト]確定菜單中顯示的項目數[メニューの高さ]也必須指定。接下來,您需要指定商品和標籤以識別商品。鞭尾是可滾動的,因此您可以指定任何數字

菜單菜單

最後,whiptail 將選定的標籤打印到 標準誤差..

5. 其他箱子

仍然有各種盒子可用於鞭尾,例如:

  • 消息窗口
  • 列錶框
  • 單箱
  • 儀器箱

您可以使用 man 命令獲得這些內容的完整概述。

$ man whiptail

鞭尾選項

您可以使用這些標誌來進一步自定義whiptail 提示。

  • -清除 :完成後,屏幕將被清除並顯示屬性。如果啟用了備用屏幕切換,這對 xterms(和後代)不起作用。在這種情況下,俚語寫入(並清除)備用屏幕。
  • –defaultno :將光標移至“否”按鈕打開對話框。
  • – 是按鈕 [TEXT] :更改是按鈕文本
  • – 沒有按鈕 [TEXT] :無按鈕更改文本
  • -項目內部 :菜單、清單和單選列表小部件僅顯示標籤,不顯示項目字符串。菜單小部件仍然需要指定一些項目,但列表和單選只需要標籤和狀態。
  • -標籤 :不在菜單、清單和單選列表小部件中顯示標籤。
  • – 輸出-FD [FD] : 直接輸出whiptail到特定文件的描述
  • -標題 [TEXT] : 設置框的標題

結論是

因此,在本模塊中,您學習瞭如何有效地使用whiptails 來創建有效的shell 腳本。這使得 shell 腳本看起來非常專業,增強了用戶體驗。您還可以從手冊頁中更詳細地探索該工具。