在 Linux 中使用 Dialog 工具建立對話方塊


在本教程中,我們將探討在 Linux 中使用 Dialog 工具建立對話方塊的過程。Dialog 是一個命令列實用程式,允許開發人員輕鬆地將其互動式對話方塊整合到他們的 shell 指令碼或應用程式中。這些對話方塊提供了使用者友好的介面,用於顯示資訊、接收輸入和進行選擇。透過使用 Dialog 工具,我們可以增強 Linux 程式的互動性和可用性。

在本教程中,我們將逐步介紹有效安裝和使用 Dialog 工具所需的步驟。我們將從安裝過程開始,探索可以建立的不同型別的對話方塊,並深入瞭解高階功能,例如表單輸入和檔案選擇對話方塊。

安裝 Dialog 工具

首先,讓我們確保 Dialog 工具已安裝在我們的 Linux 系統上。開啟終端並輸入以下命令以檢查它是否已安裝 -

dialog --version

如果未安裝 Dialog 工具,您可以使用軟體包管理器安裝它。例如,在基於 Debian 的系統上,您可以使用 apt 軟體包管理器 -

sudo apt-get update
sudo apt-get install dialog

安裝完成後,您可以透過再次執行 `dialog --version` 命令來驗證它。如果成功,您將看到 Dialog 工具的版本資訊。

建立一個簡單的對話方塊

在本節中,我們將建立一個簡單的對話方塊,向用戶顯示一條訊息。開啟文字編輯器並建立一個新的 shell 指令碼檔案,例如 `dialog_example.sh`。在開頭指定直譯器以啟動指令碼 -

#!/bin/bash

接下來,我們將使用 Dialog 工具建立一個帶有訊息的對話方塊。將以下程式碼片段新增到您的指令碼中 -

dialog --msgbox "Welcome to this tutorial on creating dialog boxes in Linux using the Dialog tool!" 10 40

讓我們分解上述程式碼 -

`--msgbox` - 這選項告訴 Dialog 工具建立一個帶有訊息的對話方塊。

`"歡迎使用本關於使用 Dialog 工具在 Linux 中建立對話方塊的教程!"` - 這是將顯示給使用者的訊息。

`10` - 對話方塊的高度(以行數表示)。

`40` - 對話方塊的寬度(以字元數表示)。

儲存指令碼並透過執行以下命令使其可執行 -

chmod +x dialog_example.sh

要執行指令碼並顯示對話方塊,請執行以下命令 -

./dialog_example.sh

從上面的程式碼片段可以看出,我們使用了 `--msgbox` 選項來建立一個帶有歡迎訊息的對話方塊。對話方塊將以指定的尺寸(10 行高,40 個字元寬)顯示。

使用 Dialog 工具獲取使用者輸入

在本節中,我們將探討如何建立一個提示使用者輸入的對話方塊。讓我們建立一個名為 `input_dialog.sh` 的指令碼並在文字編輯器中開啟它。

使用直譯器宣告啟動指令碼 -

#!/bin/bash

接下來,新增以下程式碼片段以建立一個輸入對話方塊 -

dialog --inputbox "Please enter your name:" 10 40 2> /tmp/input.txt
```

Here's a breakdown of the code:
- `--inputbox`: This option tells the Dialog tool to create an input dialog box.
- `"Please enter your name:"`: This is the prompt message displayed to the user.
- `10`: The height of the dialog box.
- `40`: The width of the dialog box.
- `2> /tmp/input.txt`: This redirects the user's input to a file named `/tmp/input.txt`.

儲存指令碼並使其可執行。要執行指令碼並顯示輸入對話方塊,請執行以下命令 -

./input_dialog.sh

使用者輸入其姓名並按 Enter 鍵後,輸入的值將儲存在 `/tmp/input.txt` 檔案中。

使用 Dialog 工具進行選擇

在本節中,我們將學習如何建立一個允許使用者使用選單進行選擇的對話方塊。建立一個名為 `menu_dialog.sh` 的指令碼並在文字編輯器中開啟它。

使用直譯器宣告開始指令碼 -

#!/bin/bash

現在,讓我們新增程式碼片段以建立一個選單對話方塊 -

dialog --menu "Select your favorite programming language:" 15 40 4 \
1 "Python" \
2 "JavaScript" \
3 "C++" \
4 "Java" 2> /tmp/selection.txt

讓我們瞭解程式碼 -

`--menu` - 這選項告訴 Dialog 工具建立一個選單對話方塊。

`"選擇您最喜歡的程式語言:"` - 這是在對話方塊頂部顯示的訊息。

`15` - 對話方塊的高度。

`40` - 對話方塊的寬度。

`4` - 選單項的數量。

選單項以專案編號和標籤對的形式指定。

儲存指令碼並使其可執行。要執行指令碼並顯示選單對話方塊,請執行以下命令 -

./menu_dialog.sh

當用戶從選單中選擇一種程式語言並按 Enter 鍵時,所選值將儲存在 `/tmp/selection.txt` 檔案中。

Dialog 工具的高階功能

除了我們迄今為止介紹的基本對話方塊型別外,Dialog 工具還提供了各種其他功能來建立更復雜和互動式的對話方塊。讓我們探索其中的一些高階功能。

表單輸入

Dialog 允許您建立具有多個輸入欄位的對話方塊,這些輸入欄位以表單結構組織。每個輸入欄位可以有一個標籤和一個相應的值。要建立表單輸入對話方塊,請使用 `--form` 選項。以下是一個示例 -

dialog --form "Please fill in the following information:" 15 40 3 \
"Name:" 1 1 "" 1 10 20 0 \
"Email:" 2 1 "" 2 10 30 0 \
"Phone:" 3 1 "" 3 10 15 0 2> /tmp/form.txt

在上面的程式碼中,我們建立了一個具有三個欄位的表單輸入對話方塊:姓名、電子郵件和電話。每個欄位都使用標籤、行、列、初始值、寬度和最大長度指定。使用者的輸入將儲存在 `/tmp/form.txt` 檔案中。

檔案選擇對話方塊

Dialog 工具還提供了建立檔案選擇對話方塊的功能。這些對話方塊允許使用者瀏覽並從檔案系統中選擇檔案。要建立檔案選擇對話方塊,請使用 `--fselect` 選項。以下是一個示例 -

dialog --fselect "/home/user/documents" 15 40 2> /tmp/file.txt

在上面的程式碼中,我們建立了一個檔案選擇對話方塊,該對話方塊從 `/home/user/documents` 目錄開始。使用者的選擇將儲存在 `/tmp/file.txt` 檔案中。

結論

在本教程中,我們探討了在 Linux 中使用 Dialog 工具建立對話方塊的過程。我們首先安裝了 Dialog 工具,然後繼續建立各種型別的對話方塊,包括訊息框、輸入框和選單框。我們還介紹了高階功能,例如表單輸入和檔案選擇對話方塊。透過將對話方塊整合到我們的 shell 指令碼或應用程式中,我們可以建立更友好的使用者介面並改善整體使用者體驗。

更新於: 2023-07-26

1K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.