Делаем ваши bash скрипты юзер-френдли с помощью dialog
Если вы устанавливал Linux используя текстовый установщик, возможно вы заметили что диалоги выполнены очень профессионально. Можно подумать, что при создание текстового инсталлятора использовалось экстремальное программирование. В действительности, все это создано посредством утилиты dialog. Dialog установлен по умолчанию в большинстве Linux дистрибутивов. Программа используется для профессионально выглядищях диалогов вызываемых из shell скриптов.
Создание диалогов очень легко. Ниже я расскажу как создавать диалоги различных типов.
Ячейка ввода:Этот диалог позволяет пользователям ввести строку. Так же можно перенаправить вывод в файл.
... эта команды выводит текст, содержащийся в 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
Информационное поле: Это полезно для отображения сообщения, которое получается в результате выполнения команды. Для примера, посмотрите код ниже.
Information box - listing the vmstat and free listing.
Message box
Dialog обычно используется в скриптах . Имеется другой пакет Xdialog, который дает подобный функционал для скриптов выполняемых в X Windows. Утилита Xdialog также имеет дополнительный функционал, которого нет в dialog. Для более подробного ознакомления с программой dialog используйте man dialog