Вход/Регистрация
Linux: Полное руководство
вернуться

Аллен Питер В.

Шрифт:

trap "rm -f $tempfile" 0 1 2 5 15

$DIALOG --title "INPUT BOX" --clear \

– -inputbox "Данный виджит используется для ввода \

информации \n\n \

Введите свое имя:" 16 51 2 > $tempfile

retval=$?

case $retval in

0)

 echo "Вы ввели `cat $tempfile`";;

1)

 echo "Нажата Cancel";;

255)

 if test -s $tempfile ; then

cat $tempfile

 else

echo "Нажата ESC."

 fi

 ;;

esac

Рис. 25.3. Виджит InputBox

Значения, возвращаемые программой

dialog
:

♦ 0, если пользователь что-то ввел и нажал Enter или просто нажал <Ввод>, не введя ничего (тогда временный файл будет пуст);

♦ 1, если пользователь нажал Cancel;

♦ 255, если пользователь нажал Esc.

25.5. Зависимые и независимые переключатели

Программа

dialog
позволяет вам использовать в своих сценариях зависимые и независимые переключатели. Зависимые переключатели реализуются виджитом radiolist, а независимые — checklist.

Листинг 25.5. Независимые переключатели

#!/bin/sh

DIALOG=${DIALOG=dialog}

tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$

trap "rm -f $tempfile" 0 1 2 5 15

$DIALOG --backtitle "Пример" \

 --title "Независимые переключатели" \

 --checklist "Данный пример демонстрирует работу независимых \n\

 переключателей, реализуемых с помощью пакета Dialog \n\

 Используйте ПРОБЕЛ для включения или выключения переключателей.\

 \n\n\

 Какие произведения вы читали?" 20 61 5 \

"Почти как люди" "Саймак" off \

"Фауст" "Гете" ON \

"Мастер и Маргарита" "Булгаков" off \

"Мир теней" "Саймак" off \

"Демон" "Лермонтов" on 2> $tempfile

retval=$?

choice=`cat $tempfile`

case $retval in

0)

 echo "Вы выбрали '$choice'";;

1)

 echo "Нажата Cancel";;

255)

 echo "Нажата ESC";;

esac

Рис. 25.4. Независимые переключатели

Выбранные пользователем значения помещаются во временный файл, который вам нужно будет обработать. Сейчас мы просто выведем его на консоль. Элемент списка checklist может находиться в одном из положений — On или Off. Эти значения не чувствительны к регистру. Во временный файл выводятся только включенные переключатели.

Работа с виджитом radiolist осуществляется так же, как и в виджитом checklist, за исключением того, что может быть активным лишь один элемент и во временный файл будет записан именно этот элемент.

Листинг 25.6. Зависимые переключатели

#!/bin/sh

DIALOG=${DIALOG=dialog}

tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$

trap 'rm -f $tempfile" 0 1 2 5 15

$DIALOG --backtitle "Пример" \

 --title "RADIOLIST BOX" --clear \

 --radiolist "Это список зависимых переключателей \n\

 Он позволяет выбрать только один вариант из списка \n\

 Какую из этих книг вы читали последней?" 2 0 81 5 \

"Почти как люди" "Саймак" off \

"Фауст" "Гете" off \

"Мастер и Маргарита" "Булгаков" ON \

"Мир теней" "Саймак" off \

  • Читать дальше
  • 1
  • ...
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: