dialog --backtitle "Package configuration" \ --title "Configuration sun-java-jre" \ --yesno "\nBla bla bla...\n\nDo you accept?" 10 30
Ответ пользователя сохраняется в коде выхода, поэтому его можно распечатать как обычно:
echo $?
(обратите внимание, что0
означает «да», а1
означает «нет» в мире оболочки).Относительно других вопросов из раздела комментариев:
чтобы поместить в диалоговое окно вывод какой-либо команды, просто используйте механизм подстановки команд $ ()
, например:
dialog --backtitle " $ (echo abc) "--title" $ (cat file) "...
, чтобы предоставить пользователю несколько вариантов выбора, вы можете использовать параметр - menu
вместо - yesno
, чтобы сохранить вывод выбора пользователя в переменную, которую необходимо используйте параметр - stdout
или измените дескриптор вывода через - output-fd
или вручную, например:
output = $ (dialog --backtitle "Конфигурация пакета" \ { {1}} --title "Конфигурация sun-java-jre" \
--menu "$ (parted -l)" 15 40 4 1 "sda1" 2 "sda2" 3 "sda3" \ {{ 1}} 3> & 1 1> & 2 2> & 3 3> & -)
echo "$ output"
Этот трюк необходим, потому что dialog
по умолчанию выводит на stderr, а не на stdout.
И, как всегда, диалог человека
- ваш друг.