KirMol Wiki

Добро пожаловать в KirMol Wiki

Инструменты пользователя

Инструменты сайта


linux:commands:whiptail

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
linux:commands:whiptail [2026/06/30 10:03] Кирилл Мlinux:commands:whiptail [2026/07/01 07:31] (текущий) Кирилл М
Строка 8: Строка 8:
  
 Whiptail использует библиотеку newt и позволяет создавать диалоговые окна, меню, формы и запросы для скриптов на Bash. Whiptail использует библиотеку newt и позволяет создавать диалоговые окна, меню, формы и запросы для скриптов на Bash.
 +
 +===== Установка whiptail =====
 +
 +Устанавливаем whiptail:
 +<code bash>
 +sudo apt install whiptail
 +</code>
  
 ===== Опции whiptail ===== ===== Опции whiptail =====
Строка 13: Строка 20:
   * **--help** - Показать справочную информацию по команде   * **--help** - Показать справочную информацию по команде
   * **--version** - Показать информацию о версии whiptail   * **--version** - Показать информацию о версии whiptail
 +  * **--clear** - Очистит экран при выходе
 +  * **--defaultno** - Отключает кнопку по умолчанию
 +  * **--default-item** - Устанавливает строку по умолчанию
  
-===== Основные типы окон =====+===== Опции box whiptail =====
  
 ^ Тип окна          ^ Описание                                                      ^ ^ Тип окна          ^ Описание                                                      ^
Строка 32: Строка 42:
 Вывести текст и ждет нажатия Enter или OK: Вывести текст и ждет нажатия Enter или OK:
 <code bash> <code bash>
-whiptail --title "Заголовок" --msgbox "Операция завершена успешно!" 10 40+whiptail --title "Заголовок" --msgbox "Операция завершена успешно!" 15 50
 </code> </code>
  
Строка 43: Строка 53:
 #!/bin/bash #!/bin/bash
  
-if whiptail --title "Подтверждение" --yesno "Вы уверены, что хотите удалить файл?" 10 50; then+if whiptail --title "Подтверждение" --yesno "Вы уверены, что хотите удалить файл?" 15 50; then
     echo "Пользователь выбрал ДА"     echo "Пользователь выбрал ДА"
 else else
Строка 52: Строка 62:
 ==== Ввод текста (inputbox) ==== ==== Ввод текста (inputbox) ====
  
-Результат сохраняется в переменную через stderr (так как whiptail выводит результат в поток ошибок): +Ввод данных:
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
Строка 62: Строка 71:
 </code> </code>
  
 +Результат сохраняется в переменную через stderr (так как whiptail выводит результат в поток ошибок). \\
 Разбор конструкции 3>&1 1>&2 2>&3: это маневр для перенаправления вывода из stderr в stdout, чтобы сохранить результат в переменную. Разбор конструкции 3>&1 1>&2 2>&3: это маневр для перенаправления вывода из stderr в stdout, чтобы сохранить результат в переменную.
 +
 +==== Меню выбора (menu) ====
 +
 +Выбрать один пункт из списка:
 +<code bash>
 +#!/bin/bash
 +
 +CHOICE=$(whiptail --title "Выбор системы" --menu "Выберите ОС:" 15 50 3 \
 +"1" "Debian" \
 +"2" "Ubuntu" \
 +"3" "Linux Mint" 3>&1 1>&2 2>&3)
 +
 +echo "Вы выбрали: $CHOICE"
 +</code>
 +
 +==== Список с множественным выбором (checklist) ====
 +
 +Пользователь отмечает нужные пункты (пробелом):
 +<code bash>
 +#!/bin/bash
 +
 +    APPS=$(whiptail --title "Установка" --checklist "Выберите пакеты:" 15 50 5 \
 +    "Nginx" "Веб-сервер" OFF \
 +    "Apache" "Веб-сервер" OFF \
 +    "Git" "Система контроля версий" OFF \
 +    "Nano" "Текстовый редактор" OFF 3>&1 1>&2 2>&3)
 +    echo "Вы выбрали: $APPS"
 +
 +if [ -z "$choices" ]; then
 +    echo "Отменена."
 +    exit 0
 +fi
 +</code>
 +
  
  
linux/commands/whiptail.1782813788.txt.gz · Последнее изменение: Кирилл М