📜  Shell 脚本 - 对话框

📅  最后修改于: 2022-05-13 01:57:29.643000             🧑  作者: Mango

Shell 脚本 - 对话框

在本文中,我们将创建一个 shell 脚本,该脚本生成一个带有 GUI 的对话框,向用户生成一条消息。

什么是对话框?

对话框是应用程序运行以向用户传达重要信息的临时窗口。这些对话框可用于显示警告、错误以及来自最终用户的系统所需的任何其他输入。

在 Linux 中安装对话框实用程序:

对话框实用程序:对话框实用程序用于创建基于图形用户界面的对话框,可用于从用户那里获取任何重要信息。

需要安装的模块:

对于 Ubuntu 和 Debian Linux

sudo apt-get update 
sudo apt-get install 1 dialog 

对于 CentOS 或 Redhat Linux:

sudo yum install dialog

现在,让我们运行 Bash 脚本来创建对话框,请注意我们使用的是基于 ubuntu 的 Linux 虚拟机,但您可以在任何 Linux 发行版上尝试此操作,但请按照上述相应发行版的命令下载模块。

1. 用于创建问候用户对话框的 Shell 脚本:

在此,让我们创建一个为用户生成问候语的 shell 脚本。

外壳脚本:

#!/bin/bash 
function DialogGen() { 
dialog --title "Hello" --msgbox 'Hello GFG Users!' 6 20 
}
DialogGen()

输出 :

  • 在上面的 Shell 脚本中,我们在 Ubuntu 机器上生成了一个对话框,它使用 DialogGen函数向用户致意。它显示了一个消息框问候“Hello GFG 用户”,并带有一个确定按钮。
  • 我们可以使用此对话框来显示我们选择的任何消息。
  • 用户可以点击 ok 按钮,对话框退出,调用的 shell 脚本继续运行。
  • 退出后,对话框的输出中不会出现任何文字,但会返回 ESC 类型的退出状态。

了解对话框中涉及的选项

现在,在上面创建的对话框中,让我们调试用于更好地了解对话框在 Linux 环境中的函数的选项。

  • –title “Hello”:设置在对话框开头显示的标题字符串,作为创建对话框的标题。
  • –msgbox 'Hello GFG Users !':这会向用户显示一条消息“Hello”,您可以自定义要问候最终用户的内容。
  • 6:消息框高度的值。
  • 20: msgbox框的宽度值。

现在,让我们看看可以使用 Dialog 工具使用 shell 脚本创建的各种小部件。

2. Shell 脚本显示带有日历的对话框:

句法 :

消息.sh:

#!/bin/bash 
function DialogGen 
{ 
dialog --calendar "calendar" 5 50 12 02 2022 
}
DialogGen 

输出 :

了解上述对话框中使用的选项:

  • –calendar:此关键字用于显示对话框的标题。
  • –5 50 12 02 2022: 5 是高度的值,50 是宽度,12 02 2022 是今天的日期。

3. Shell 脚本生成用于显示清单小部件的对话框。

让我们创建一个生成水果和蔬菜清单的 shell 脚本:

消息.sh:

输出 :

了解上述对话框中使用的选项:

  • –Checklist “checklist”: Checklist 关键字启动清单,后跟用作对话框标题的文本。
  • –15 10 10:高度为 15,然后为宽度设置 10 值,并为列表高度设置 10。
  • --'potato' 5 'on':这里的土豆是 item1 是土豆,后跟 5 设置为标签值,on 是清单框的状态(它是打开或关闭)。

4. 使用对话框工具创建 msgbox 的 Shell 脚本:

让我们尝试在 Linux 机器上创建一个向用户显示文本消息的 msgbox。

句法 :

消息.sh:

输出 :

了解上述对话框中使用的选项:

  • -msgbox :此关键字在 shell 控制台上启动 msgbox 对话框。
  • -text:此文本包括我们想要传达给最终用户的消息。
  • -10:这是为高度设置的值。
  • -30 :为宽度设置的值。

5. 生成仪表对话框的Shell脚本:

让我们生成一个 shell 脚本函数,在 shell 控制台上显示对话框的仪表类型。

句法 :

--gauge    [] 

消息.sh:

#!/bin/bash 
function DialogGen 
{
--gauge "in progress..." 10 20 40 
}
DialogGen 

输出 :

6. 生成表单对话框的Shell脚本:

让我们生成一个在控制台 shell 上显示表单的 shell 脚本函数。

句法 :

消息.sh:

输出 :

7.在Linux机器上生成信息框对话框的Shell脚本:

在此,让我们生成一个运行信息框对话框的 Shell 脚本函数。

句法 :

--infobox        

消息.sh:

输出 :

8.在Linux机器上生成输入框对话框的Shell脚本:

在此,我们尝试生成一个运行输入框类型对话框的 Shell Script函数。

句法 :

-inputbox        []

消息.sh:

输出 :

9.Shell脚本生成InputMenu对话框

现在,让我们编写一个 shell 脚本函数来在 Linux 机器上生成 InputMenu 对话框。

句法 :

消息.sh:

输出 :

10.从对话框生成菜单的Shell脚本:

在这个脚本中,我们尝试创建一个运行 Menu Widget Dialog Box 的 Shell 脚本函数。

语法

消息.sh:

输出 :

11.创建是/否框的Shell脚本:

在此脚本中,我们生成了一个函数,该函数向用户显示带有是或否选项的对话框 GUI。

句法 :

-yesno    

脚本 :

消息.sh:

输出 :

12.设计密码框的Shell脚本:

在这个脚本中,我们的工作是生成一个函数,显示一个带有隐藏文本字段的密码表单。

句法 :

脚本 :

消息.sh:

输出 :

13.显示单选框对话框的Shell脚本:

在此,让我们在 shell 脚本中运行一个函数,在 Linux 机器上生成 Radio Box Dialogue:

句法 :

脚本 :

输出 :