Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



Делаем ваши bash скриты юзер-френдли с помощью dialog

Рубрика: 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 box
Dialog обычно используется в скриптах . Имеется другой пакет Xdialog, который дает подобный функционал для скриптов выполняемых в X Windows. Утилита Xdialog также имеет дополнительный функционал, которого нет в dialog. Для более подробного ознакомления с программой dialog используйте man dialog

Оригинал

]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 1

  1. 2010-01-19 в 20:15:36 | VVV (анонимно)

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

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)