Fig: Inputbox
Fig: Textbox showing the file.
Information box - listing the vmstat and free listing.
Message box
Делаем ваши bash скриты юзер-френдли с помощью dialog
Рубрика: Shell
Метки: Linux | Linux утилиты | shell
Суббота, 5 июля 2008 г.
Просмотров: 6199
Подписаться на комментарии по RSS
Метки: Linux | Linux утилиты | shell
Суббота, 5 июля 2008 г.
Просмотров: 6199
Подписаться на комментарии по RSS
Если вы устанавливал Linux используя текстовый установщик, возможно вы заметили что диалоги выполнены очень профессионально. Можно подумать, что при создание текстового инсталлятора использовалось экстремальное программирование. В действительности, все это создано посредством утилиты dialog. Dialog установлен по умолчанию в большинстве Linux дистрибутивов. Программа используется для профессионально выглядищях диалогов вызываемых из shell скриптов.
Создание диалогов очень легко. Ниже я расскажу как создавать диалоги различных типов.
Ячейка ввода:Этот диалог позволяет пользователям ввести строку. Так же можно перенаправить вывод в файл.
$ dialog --title "Ravi's Input Box"
--inputbox "Enter the parameters..."
8 40
Как вы видите, используемые опции вполне понятны. После две опции 8 и 40 это высота и ширина окна ввода.
Fig: Inputbox
$ dialog --title "textbox" --textbox ./myfile.txt 22 70
... эта команды выводит текст, содержащийся в myfile.txt
Fig: Textbox showing the file.Список выбора: Пользователю выводится лист из возможных вариантов выбора и он может выбрать один или несколько вариантов используя пробел.
$ dialog --checklist "Choose your favorite distribution:" 10 40 3 1 RedHat on 2 "Ubuntu Linux" off 3 Slackware off
... в этом примере, 10 это высота бокса, 30 - ширина, 3 - число выводимых вариантов, on/off - отмечен или нет по умолчанию выбор, и в конце описания того что выбираем под номерами.
Radiolist: Пользователь может выбрать только один вариант из предложанных. В остальном тоже самое
$ dialog --backtitle "Processor Selection" --radiolist "Select Processor type:" 10 40 4 1 Pentium off 2 Athlon on 3 Celeron off 4 Cyrix off
Информационное поле: Это полезно для отображения сообщения, которое получается в результате выполнения команды. Для примера, посмотрите код ниже.
$ dialog --title "Memory Results" --infobox "`echo ;vmstat;echo ;echo ;free`" 15 85
Information box - listing the vmstat and free listing.
Message boxDialog обычно используется в скриптах . Имеется другой пакет Xdialog, который дает подобный функционал для скриптов выполняемых в X Windows. Утилита Xdialog также имеет дополнительный функционал, которого нет в dialog. Для более подробного ознакомления с программой dialog используйте man dialog
Еще записи по теме
- Как использовать команду DsQuery для поиска контроллеров домена?
- iRedMail: Установка полноценного почтового сервера с LDAP, Postfix, RoundCube, Dovecot, ClamAV, DKIM, SPF в CentOS 5.x, часть 1
- Linux/Unix shell: как отсортировать IP адреса
- 5 практических примеров для удаления директорий в Linux
- Добавление DNS серверов с помощью DNS-add
- Linux: запускаем необходимые команды после перезагрузки системы
- BASH Shell: перенаправляем вывод и ошибки в /dev/null


Комментариев: 1
Ubuntu 9.10 (да и в прочих) - по умолчанию команды dialog нет, предлагает доустановить. Но при этом некоторые скрипты выводят текстовые поля, списки и прочее, обговоренное в статье. Есть еще какие-то команды?