My-library.info
Все категории

Денис Колисниченко - Linux: Полное руководство

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Денис Колисниченко - Linux: Полное руководство. Жанр: Программное обеспечение издательство -, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Linux: Полное руководство
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
474
Читать онлайн
Денис Колисниченко - Linux: Полное руководство

Денис Колисниченко - Linux: Полное руководство краткое содержание

Денис Колисниченко - Linux: Полное руководство - описание и краткое содержание, автор Денис Колисниченко, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info
Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.

Linux: Полное руководство читать онлайн бесплатно

Linux: Полное руководство - читать книгу онлайн бесплатно, автор Денис Колисниченко

#! /bin/sh

DIALOG=${DIALOG=dialog}


# ждем указанное количество секунд

left=10

unit="секунд"


while test $left != 0

do

 $DIALOG --sleep 1

 --title "INFO BOX"

 --infobox "Это информационный бокс. Он отличается от

 msgbox тем, что не ждёт, пока пользователь нажмет Enter,

 а прекращает работу по истечении времени

 (в данном примере - 10 секунд).

 У вас $left $unit чтобы прочитать это сообщение..." 10 52

 left=`expr $left — 1`

 test $left = 1 && unit="second"

done

Параметр --sleep 1 означает, что программа dialog будет перерисовывать окно через одну секунду. Параметр --title задает заголовок виджита, --infobox — определяет тип виджита, после определения виджита следует отображаемое сообщение, а потом — размер виджита.

В цикле while мы проверяем, сколько секунд осталось, уменьшая значение переменной left.

25.3. Виджит Yes-no

Часто встречаются диалоговые окна, спрашивающие пользователя, согласен ли он с действиями программы, например, «Вы точно хотите выйти?» или «Удалить этот файл?». Пользователю же предлагается два варианта ответа — Да или Нет. Для организации такого диалога предназначен виджит yes-no.

Следующий листинг демонстрирует работу с этим виджитом:

Листинг 25.3. Работа с виджитом yes-no

#!/bin/sh

DIALOG=${DIALOG=dialog}


$DIALOG --title "YES/NO BOX" --clear

--yesno "Отформатировать /dev/hda1?" 5 41


case $? in

0)

 echo "Да.";;

1)

 echo "Нет.";;

255)

 echo "ESC.";;

esac

Рис. 25.2. Виджит yes-no

Виджит используется так же, как и предыдущие: название виджита (yesno), текстовое сообщение, размеры виджита. Программа dialog возвращает следующие значения:

♦ 0, если пользователь нажал кнопку Yes;

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

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

25.4. Окно ввода текста

Следующим по частоте применения после информационных виджитов и виджита yes-no следует виджит ввода текстовой информации — Inputbox. Принцип работы данного виджита следующий:

♦ Мы определяем имя временного файла, в который будет записано введенное пользователем сообщение.

♦ Вызываем программу dialog с параметром --inputbox.

♦ Перенаправляем вывод программы во временный файл (программа выведет введенное пользователем значение).

♦ Выводим или обрабатываем каким-либо другим способом содержимое временного файла.

Листинг 25.4. Виджит Inputbox

#!/bin/sh

DIALOG=${DIALOG=dialog}

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

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


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

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

информации nn

Введите свое имя:" 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

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

 nn

 Какие произведения вы читали?" 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

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


retval=$?


choice=`cat $tempfile`

case $retval in

0)

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

1)

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

255)

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

esac

25.6. Организация меню

Виджит MenuBox очень похож на radiolist — они прямо-таки братья-близнецы, только у menubox нет слева переключателя включено/выключено. Использовать MenuBox нужно так же, как и radiolist, но не указывая on или off для элементов меню.

Листинг 25.7. Меню

#!/bin/sh

DIALOG=${DIALOG=dialog}

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

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


$DIALOG --clear --title "MENU BOX"

 --menu "Этот виджит поможет вам организовать небольшое меню n

 MENU BOX предоставляет пользователю выбрать один вариант

 из списка n

 Данный виджит также позволяет прокручивать возможные варианты n

 Вы можете использовать стрелки ВВЕРХ/ВНИЗ, а также клавиши n

 1-9 для выбора.n

 Выберите вашу ОС:" 2 0 71 4

  "Linux" "А что, разве есть другие операционные системы"

  "FreeBSD" "Это лучшая ОС"

  "Windows" "Мы кроме Windows ничего не видели..."

  "MSDOS" "На моей двойке ничего другого не запускается :(" 2> $tempfile


retval=$?


choice=`cat $tempfile`

case $retval in

0)

 echo "Ваш выбор '$choice'";;

1)

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

255)

 echo "Нажата Esc.";;

esac

Рис. 25.5. Виджит menubox

25.7. Календарь

Этот виджит позволяет пользователю удобно ввести дату. Работать с ним нужно так: с помощью клавиши Tab выбираете нужный элемент управления: кнопка OK, Cancel, поле изменения месяца, поле изменения года, поле выбора числа; с помощью стрелок вверх/вниз указываете нужное значения месяца, года, числа и нажимаете <Ввод>. Выбранная вами дата будет отображена на консоли.

Листинг 25.8. Календарь

#!/bin/sh

: ${DIALOG=dialog}


USERDATE=`$DIALOG --stdout --title "CALENDAR" —calendar

"Выберите дату..."

0 0 1 1 2004`


case $? in

0)

 echo "Вы выбрали дату: $USERDATE.";;

1)

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

255)


Денис Колисниченко читать все книги автора по порядку

Денис Колисниченко - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


Linux: Полное руководство отзывы

Отзывы читателей о книге Linux: Полное руководство, автор: Денис Колисниченко. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.