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

13.3. Применение команды stty

Команда stty позволяет установить характеристики используемого терминала. Чтобы уточнить текущие установки опций stty, примените команду stty -a.

$ stty -а

speed 9600 baud; rows 24; columns 80; line=0

intr=^C; quit=^\; erase=^?; kill=^U; eof=^D; eol=;

eol2=; start=^Q; stop=^S; susp=^Z, rprnt=^R; werase=^W;

next=^V; flush=^0; min=1, time=0;

-parenb -parodd cs8 -hupci -cstopb cread -clocal -crtscts

-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -ignor icrnl ixon

-ixoif -iuclc -ixany -imaxbel

opcst -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel n10 cr0 tab0 bs0

vt0 ff0 isig icanon iexcen echo echoe echok -echonl

-noflsh -xcase

-tostop -echoprt echoctl echoke

Довольно часто при настройке терминала не работает клавиша [Backspace], т. е. при ее нажатии не происходит удаление символа. Данная команда stty сообщает, что в качестве клавиши [Backspace] используется комбинация клавиш ^?. Однако эта комбинация не действует. С помощью комбинации клавиш [Ctrl+H] можно вернуться на одну позицию и удалить предыдущий символ. Поэтому для устранения данной проблемы воспользуемся командой stty. Общий формат установки параметров команды stty в командной строке:

stty символ

Ниже показана установка управляющей последовательности ^H, соответствующей коду клавиши [Backspace]:

$ stty erase '\^H'

При использовании приведенной выше команды stty в файле .profile могут возникнуть затруднения. Команда stty на самом деле может предполагать наличие управляющей последовательности . Для устранения этого недостатка необходимо во время работы в редакторе vi поступить следующим образом: нажмите клавишу [Ctrl] и одновременно с ней клавишу [V], затем отпустите клавишу [V] и нажмите клавишу [Н].

Ниже приводятся наиболее распространенные наименования команды stty.

НаименованиеКлавишаЗначение
intr^CЗавершение процесса
echoПодключение режима отображения
-echoОтключение режима отображения
eof^DКонец файла, выход из системы
kill^YУдаление строки
start^QНачало прокрутки текста на экране
Stop^SЗавершение прокрутки текста на экране

Весьма полезен следующий параметр команды stty:

stty -g

Этот параметр позволяет сохранить результаты выполнения команды stty в удобочитаемом формате. Затем эти результаты можно назначить команде stty, как показано выше на примере листинга файла /etc/profile. Для этого достаточно разместить содержимое команды stty -g в соответствующей переменной, ввести необходимые изменения в команду stty, а по завершении передать эти изменения команде stty.

Этим приемом удобно воспользоваться, если при изменении параметров команды stty вы нечаянно нарушили нормальную работу терминала. В этом случае можно легко восстановить исходные параметры терминала. Ниже приведен пример сохранения и последующего восстановления текущих установок команды stty. В данном случае команда stty -echo применяется для отключения режима отображения, а в конце сценария восстанавливаются исходные параметры.

$ pg password

#!/bin/sh

#пароль

#отображение процесса восстановления среды

stty SAVEDSTTY=`stty -g`

stty -echo

echo "\nGive me that password :\c"

read PASSWD

echo "\nyour password is $PASSWD

stty $SAVEDSTTY

$ sttypass

Give me that password : your password is bong

В Linux …

Чтобы сообщить Linux, что в строках предполагается применение управляющих символов, команду echo следует вводить как "echo -e".

SAVEDSTTY=`stty -g`

stty -echo

echo "\nGive me that password :\c"

read PASSWD

echo "\nyour password ls $PASSWD"

stty $SAVEDSTTY

Перейти на страницу:

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

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

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

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

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

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

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

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