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]除了只有按鈕[はい]/[いいえ]非常類似於一個盒子。出現提示時輸入它,shell 腳本將繼續運行。

消息框

3.輸入框

輸入框是whiptail的一些最重要的功能。創建輸入框的語法是:

$ 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] 

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

菜單菜單

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

5. 其他箱子

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

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

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

$ man whiptail

鞭尾選項

您可以使用標誌來進一步自定義whiptail 舞會。

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

結論是

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