Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

# быстрый способ получения длины строки

LEN=`echo $_STR | wc -c`

COLS=`tput cols`

_NEW_COL=`expr \{$COLS - $LEN \) / 2`

xy $_ROW $_NEW_COL

echo $_STR

}

Чтобы вызвать функцию, следует применить команду:

centertxt 15 "THE MAIN EVENT"

или аналогичную команду, но с использованием строки в качестве аргумента:

centertxt 15 $1

<p><emphasis><strong>21.2.7. Определение атрибутов терминала</strong></emphasis></p>

Рассмотрим сценарий, в котором с помощью команды tput производится обращение к базе данных terminfo. С помощью некоторых команд tput отображаются управляющие коды терминала.

$ pg termput

#!/bin/sh

#termput

#инициируйте tput для терминала

tput init

clear

echo "tput <> terminfo"

infocmp -l $TERM | while read LINE

do

case $LINE in

bel*) echo "$LINE: sound the bell" ;;

blink*) echo "$LINE: begin blinking mode";;

bold*) echo "$LINE: make it bold" ;;

el*) echo "$LINE: clear to end of line" ;;

civis*) echo "$LINE: turn cursor off";;

cnorm*) echo "$LINE: turn cursor on ";;

clear*) echo "$LINE: clear the screen" ;;

kcuul*) echo "$LINE: up arrow ";;

kcubl*) echo "$LINE: left arrow ";;

kcufl*) echo "$LINE: right arrow ";;

kcudl*) echo "$LINE: down arrow ";;

esac done

Команда infocmp извлекает из файла базы данных terminfo информацию о терминале. Если нужно просмотреть файл, содержащий сведения о настройках терминала, выполните команду:

$ infocmp $TERM

Ниже с помощью сценария termput отображается поток вывода для некоторого терминала:

$ termput

tput <> terminfo

bel=^G,: sound the bell

blink=E[5m, : begin blinking mode

bold=E[1m,: make it bold

civis=E[?251,: turn cursor off

clear=E[HE[J,: clear the screen cnorm

‑E[?25h,; turn cursor on

el=E[K,: clear to end of line

ell=E[lK,: clear to end of line

kcubl=E[D,: left arrow

kcudl=E[B,: down arrow

kcufl=E[C,: right arrow

kcuul=E[A,: up arrow

<p><emphasis><strong>21.2.8. Применение функциональных клавиш при работе со сценариями</strong></emphasis></p>

С помощью команды cat можно обращаться к специальным клавишам ([F1], [стрелка_вверх] и т. д.). Введите команду cat -v, затем нажмите любую управляющую клавишу и просмотрите, что отобразится в нижней строке. Когда просмотр завершится, нажмите комбинацию клавиш [Ctrl+C].

В следующем примере вызывается команда cat и используются клавиши [F1] (^[OP), [F2](^[OQ) и [стрелка_вверх](^[[A).

$ cat -v

^[ОР

^[OQ

^[[А

Эта информация позволяет применять рассмотренные символы в сценариях в качестве дополнительных методов, обеспечивающих интерактивный режим работу пользователя.

В приведенном ниже сценарии распознаются клавиши [F1], [F2], а также клавиши стрелок. Пользовательские значения могут быть иными, поэтому выполните команду cat, чтобы уточнить, какие значения соответствуют управляющим клавишам терминала.

$ pg control_keys

#!/bin/sh

#управляющие_клавиши

#для вставки примените последовательность 'sequence'

uparrowkey='^[[А'

downarrowkey='^[[В'

leftarrowkey='^[[D'

rightarrowkey='^[[С'

f1key='^[OP'

f2key='^[OQ'

echo -n " Press a control key then hit return"

read KEY

case $KEY in

$uparrowkey) echo "UP arrow";;

$downarrowkey) echo "DOWN arrow";;

$leftarrowkey) echo "LEFT arrow";;

$rightarrowkey) echo "RIGHT arrow";;

$f1key) echo "F1 key";;

$f2key) echo "F2 key";;

*) echo "unknown key $key";;

esac

<p><emphasis><strong>21.2.9. Применение различных цветов</strong></emphasis></p>
Перейти на страницу:

Похожие книги

112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)
112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)

  По Парижу приятно гулять, бесцельно бродить, кружить по узким улочкам, отдыхать в маленьких кафе и в парках у фонтанов. Здесь есть все для любителей архитектуры, ценителей живописи, театралов, меломанов, гурманов, поклонников всевозможных развлечений. Париж притягивает, удивляет, очаровывает, постепенно приоткрывая тайны любознательному гостю, который теряется от сложности выбора: что же увидеть прямо сейчас, а что отложить на потом. Мои 112 страниц про Париж, надеюсь, помогут сделать этот выбор. Предложенные 7 прогулок по городу включают в себя не только известные всему миру достопримечательности, но и множество других, которые часто остаются за пределами стандартных туристических маршрутов.  

Елена Р Стамбулян , Елена Р. Стамбулян

Руководства / Путеводители / Словари и Энциклопедии
40+. Уход за телом
40+. Уход за телом

Женщина после 40 лет – настоящая богиня, умудренная опытом и оттого еще более прекрасная. Но чтобы надолго сохранить красоту и молодость, нужно постоянно собой заниматься: ухаживать за своим телом, руками и ногами, выполнять физические упражнения и соблюдать диету. Благодаря этой книге вы научитесь самостоятельно готовить омолаживающие, питательные, увлажняющие кремы и маски, а также скрабы и пилинги из натуральных продуктов; выполнять легкие и эффективные упражнения для стройной фигуры и профилактики варикозного расширения вен, делать массаж рук и ног, навсегда избавитесь от целлюлита и сможете легко ориентироваться в выборе омолаживающих процедур в СПА-салонах и хирургических операций в клиниках красоты. Правила здорового питания, популярные диеты и рецепты полезных блюд – в этой книге есть все, что поможет 40-летним женщинам всегда быть в форме.

Анастасия Витальевна Колпакова

Здоровье / Руководства / Здоровье и красота / Дом и досуг / Словари и Энциклопедии