Сценарии оболочки — диалоговые окна

Опубликовано: 29 Сентября, 2022

В этой статье мы создадим сценарий оболочки, который генерирует диалоговое окно с графическим интерфейсом, генерирующим сообщение для пользователя.

Что такое диалоговое окно?

Диалоговое окно — это временное окно, которое приложение запускает для передачи важной информации пользователям. Эти диалоговые окна можно использовать для отображения предупреждений, ошибок, а также любых дополнительных входных данных, необходимых системе от конечных пользователей.

Установка диалоговой утилиты в Linux:

Утилита диалогового окна: Утилита диалогового окна используется для создания диалогового окна на основе графического интерфейса пользователя, которое можно использовать для получения любой важной информации от пользователей.

Модули, которые необходимо установить:

Для Ubuntu и Debian Linux

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

Для CentOS или Redhat Linux:

sudo yum install dialog

Теперь давайте запустим сценарии Bash для создания диалоговых окон. Обратите внимание, что мы используем виртуальную машину Linux на базе Ubuntu, но вы можете попробовать это в любом дистрибутиве Linux, но, пожалуйста, следуйте вышеупомянутым командам для соответствующего дистрибутива для загрузки модулей.

1. Сценарий оболочки для создания диалогового окна для приветствия пользователей:

В этом давайте создадим сценарий оболочки, который генерирует приветствие для пользователей.

Сценарий оболочки:

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

Выход :

  • В приведенном выше сценарии оболочки мы создали диалоговое окно на компьютере с Ubuntu, которое приветствовало пользователей с помощью функции DialogGen. Он отображал окно сообщения, приветствующее «Привет, пользователи GFG» с кнопкой «ОК».
  • Мы можем использовать это диалоговое окно для отображения любого сообщения по нашему выбору.
  • Пользователи могут нажать кнопку «ОК», и диалоговое окно закроется, а вызывающий сценарий оболочки продолжит свою работу.
  • После выхода на выходе диалога не будет написан текст, но будет возвращен статус выхода типа ESC.

Понимание параметров, задействованных в диалоговом окне

Теперь в созданном выше диалоговом окне давайте отладим параметры, используемые для лучшего понимания того, как работают диалоговые окна в среде Linux.

  • –title «Привет»: устанавливает строку заголовка, которая отображается в начале диалогового окна, которое действует как заголовок для созданного диалогового окна.
  • –msgbox 'Hello GFG Users!': Это отображает сообщение «Привет» для пользователей, вы можете настроить то, что вы хотите приветствовать конечных пользователей.
  • 6: значение высоты поля msgbox.
  • 20: Значение ширины окна msgbox.

Теперь давайте рассмотрим различные виджеты, которые можно создать с помощью инструмента Dialog с использованием сценариев оболочки.

2. Сценарий оболочки для отображения диалогового окна с календарем:

Синтаксис:

-checklist  <text> <height> <width> <list height> <tag1> <item1> <status1>…

сообщение.ш :

#!/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. Сценарий оболочки для создания диалогового окна для отображения виджета контрольного списка.

Давайте создадим сценарий оболочки, который сгенерирует контрольный список фруктов и овощей:

сообщение.ш :

#!/bin/bash 

function DialogGen 

{

dialog –checklist ‘checklist’ 15 10 10 ‘potato’  5 ‘on’  ‘carrot’ 2 ‘off’ ‘grape’ 3 ‘on’ ‘cabbage; 4 ‘off’ 

DialogGen

Выход :

Понимание параметров, используемых в приведенном выше диалоговом окне:

  • – Контрольный список «контрольный список»: ключевое слово контрольного списка инициирует контрольный список, за которым следует текст, используемый в качестве заголовка диалогового окна.
  • –15 10 10: 15 в высоту, за которыми следует 10, установленное для ширины, и 10, используемое в качестве значения, установленного для высоты списка.
  • – 'картошка' 5 'вкл': здесь картофель - это элемент 1, это картофель, за которым следует 5, установленное в качестве значения тега, а вкл - это статус контрольного списка (он либо включен, либо выключен).

4. Сценарий оболочки для создания msgbox с помощью диалогового инструмента:

Давайте попробуем создать msgbox, который отображает текстовое сообщение для пользователей на Linux-машине.

Синтаксис:

–msgbox <text> <height> <width> 

сообщение.ш :

#!/bin/bash 

function DialogGen 

{  

–msgbox “Hi geeks, hope everyone are enjoying GeeksForGeeks” 10 30 

DialogGen 

Выход :

Понимание параметров, используемых в приведенном выше диалоговом окне:

  • -msgbox : это ключевое слово инициирует диалоговое окно msgbox на консоли оболочки.
  • -текст: этот текст включает сообщения, которые мы хотим передать конечным пользователям.
  • -10 : это значение, установленное для высоты.
  • -30 : значение, установленное для ширины.

5. Сценарий оболочки для создания диалогового окна датчика:

Давайте сгенерируем функцию сценария оболочки, которая отображает диалоговое окно типа Gauge на консоли оболочки.

Синтаксис:

--gauge <text> <height> <width> [<percent>] 

сообщение.ш :

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

Выход :

6. Сценарий оболочки для создания диалогового окна формы:

давайте сгенерируем функцию сценария оболочки, которая отображает форму в оболочке консоли.

Синтаксис:

–form <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1> … 

сообщение.ш:

function DialogGen 

{

dialog –form “please enter the required information” 12 40 4 “Name:”  1 1 “” 1 12 15 0 “Age:”  2 1 “” 2 12 15 0 “Mail id:” 3 1 “” 3 12 15 0 

}

DialogGen 

Выход :

7. Сценарий оболочки для создания диалогового окна информационного окна на компьютере с Linux:

В этом давайте создадим функцию сценария оболочки, которая запускает диалоговое окно информационного окна.

Синтаксис:

--infobox      <text> <height> <width>

сообщение.ш:

#!/bin/bash 

function DialogGen 

dialog –infobox “Geeks, this is just a sample message” 10 31 

}

DialogGen 

Выход :

8. Сценарий оболочки для создания диалогового окна ввода на компьютере с Linux:

В этом мы пытаемся сгенерировать функцию сценария оболочки, которая запускает диалоговое окно типа поля ввода.

Синтаксис:

-inputbox     <text> <height> <width> [<init>]

сообщение.ш :

#!/bin/bash  

function DialogGen 

{

dialog –inputbox “geeks, please enter your name” 10 31 “enter here”  

}

DialogGen 

Выход :

9. Сценарий оболочки для создания диалогового окна InputMenu

Теперь давайте напишем функцию сценария оболочки для создания диалогового окна InputMenu на компьютере с Linux.

Синтаксис:

–inputmenu    <text> <height> <width> <menu height> <tag1> <item1>… 

сообщение.ш:

#!/bin/bash 

function DialogGen 

{

dialog–inputmenu   “Edit if required,” 12 45 25 1 “hi” 2 “good morning” 3 “Take” “Care”

DialogGen 

Выход :

10. Сценарий оболочки для создания меню из диалогового окна:

В этом сценарии мы пытаемся создать функцию сценария оболочки, которая запускает диалоговое окно виджета меню.

Синтаксис :

–menu         <text> <height> <width> <menu height> <tag1> <item1>…

сообщение.ш :

#!/bin/bash 

function DialogGen 

{

dialog–menu “choose your favourite fruit” 12 45 25 1 “apple” 2 “banana” 3 “grapes” 4 “oranges” 

}

DialogGen 

Выход :

11. Сценарий оболочки для создания поля «Да/Нет»:

В этом скрипте мы создаем функцию, которая отображает графический интерфейс диалогового окна с возможностью выбора «да» или «нет» для пользователей.

Синтаксис:

-yesno  <text> <height> <width>

Скрипт:

сообщение.ш :

#!/bin/bash 

function DialogGen

{

dialog –yesno “Hey Geek, Do You Want To Continue With Current Session?” 10 31 

}

DialogGen

Выход :

12. Сценарий оболочки для создания окна пароля:

В этом сценарии наша задача — сгенерировать функцию, которая отображает форму пароля со скрытыми текстовыми полями.

Синтаксис:

–passwordform <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>… 

Скрипт:

сообщение.ш :

#!/bin/bash 

function DialogGen 

dialog –passwordform “Hey Geek, please enter required information:” 12 40 4 “password:” 1 1 “” 1 12 15 0 “otp:” 2 1 “” 2 12 15 0 “secret key:” 3 1 “” 3 12 15 0 

DialogGen 

Выход :

13. Сценарий оболочки для отображения диалогового окна Radio Box:

В этом давайте запустим функцию в сценарии оболочки, которая генерирует диалог Radio Box на компьютере с Linux:

Синтаксис:

–radiolist    <text> <height> <width> <list height> <tag1> <item1> <status1>… 

Скрипт:

#/bin/bash 

function DialogGen() 

{

dialog –radiolist ‘radiolist’ 15 10 10 ‘Grapes’ 5 ‘off’ ‘apple’ 2 ‘off’ ‘dessert’ 3 ‘off’ ‘coffee’ 4 ‘on’ 

}

DialogGen 

Выход :