stty

Установка атрибутов tty (POSIX)

Синтаксис:

stty [-a|-g] [операнды] [< устройство]

Поддерживаемые платформы:

QNX Neutrino, Linux, Microsoft Windows

Опции:

-a

Вывести все параметры настройки.

-g

Вывести в "читабельной" форме.

Описание:

Утилита stty используется для установки и/или просмотра характеристик ввода-вывода терминала для устройства, которое является его стандартным потоком ввода. Если операнды не указаны, утилита stty отображает параметры настройки. Если операнды указаны, утилита stty изменяет состояние терминала согласно этим параметрам.

Параметры настройки терминала разделяются на две основные категории:

режим правки

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

режим необработанных входных данных

Все данные поступают на терминал и выходят из него с некоторой дополнительной обработкой.

При работе в командной строке, терминал обычно находится в системном режиме правки. Полноэкранная программа, такая как редактор, напротив, переводит терминал в режим работы с необработанными данными.

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

Утилита stty управляет достаточно большим числом атрибутов и управляющих символов. Большинство этих параметров зависят от устройств, и их изменение пользователем требуется нечасто. Программы часто изменяют эти атрибуты терминалов в процессе своей работы, и в некоторых случаях (например, ABEND) могут оставлять параметры настройки терминала в неизвестном состоянии. Для восстановления приемлемого состояния терминала удобно использовать опцию stty +edit.

Поддерживаемые операнды

В нижеследующих таблицах приведены операнды, поддерживаемые утилитой stty. В этих таблицах используются следующие правила:

число

Десятичное целое число (например, 9600).

имя

Строка символов (например, vt100).

значение

Один символ (например, ~) или 2-значное шестнадцатеричное число (например, 1B) или одна из следующих пар символов:

Пара символов

Шестнадцатеричный код

^-

00 (неопределенный)

от ^A до ^Z

от 01 до 1A

^[

1B

^\

1C

^]

1D

^^

1E

^_

1F

^?

7F


Некоторые опции могут начинаться с символа "+" или "-":

+

Включить опцию.

-

Выключить опцию.

Если символы + или - не указаны, используется символ +.

Также следует отметить, что символ "=" в операндах ключевое_слово=значение является необязательным.

Примечание. Нижеследующие описания приведены для включенных опций.

Параметры управления линией передачи

Параметр

Определение

baud=число

Скорости ввода и вывода информации в бодах

ispeed=число

Скорость ввода информации в бодах

ospeed=число

Скорость вывода информации в бодах

par=none

Отключить проверку четности (аналогично -parenb)

par=odd

Проверка на нечетность (аналогично +parenb, +parodd, - parstk)

par=even

Проверка на четность (аналогично +parenb, -parodd, - parstk)

par=mark

Четность по знаку (аналогично +parenb,+parodd, +parstk)

par=space

Четность по пробелу (аналогично +parenb, -parodd, +parstk)

bits=5

5-битовые символы

bits=6

6-битовые символы

bits=7

7-битовые символы

bits=8

8-битовые символы

stopb=2

Стоповые биты 2

stopb=1

Стоповые биты 1

{+|-}parenb

Включить проверку четности

+parodd

Включить проверку на нечетность

-parodd

Включить проверку на четность

{+|-}parstk

Постоянная четность

+cs5

Аналогично bits=5

+cs6

Аналогично bits=6

+cs7

Аналогично bits=7

+cs8

Аналогично bits=8

+cstopb

Аналогично stopb=2

-cstopb

Аналогично stopb=1

число

Аналогично baud=число

+evenp

Аналогично par=even, bits=7

-evenp

Аналогично par=none, bits=8

+parity

Аналогично par=even, bits=7

-parity

Аналогично par=none, bits=8

+oddp

Аналогично par=odd, bits=7

-oddp

Аналогично par=none, bits=8

{+|-}hupcl

Разорвать соединение при последней операции закрытия

{+|-}hup

Аналогично hupcl

{+|-}cread

Включить прием

{+|-}clocal

Предполагать отсутствие управления модемом

{+|-}ihflow

Активировать аппаратное управление потоком ввода

{+|-}ohflow

Активировать аппаратное управление потоком вывода

{+|-}isflow

Активировать программное управление потоком ввода

{+|-}osflow

Активировать программное управление потоком вывода

{+|-}ihpaged

Делить входные данные на страницы посредством аппаратного управления потоком

{+|-}ohpaged

Делить выходные данные на страницы посредством аппаратного управления потоком

{+|-}ispaged

Делить входные данные на страницы посредством программного управления потоком

{+|-}ospaged

Делить выходные данные на страницы посредством программного управления потоком


Параметры обработки входных данных

Параметр

Определение

{+|-}ignbrk

Игнорировать поступающие аппаратные остановки

{+|-}brkint

Генерировать SIGINT при остановке

{+|-}ignpar

Игнорировать ошибки проверки четности

{+|-}parmrk

Ошибки проверки четности по знаку

{+|-}inpck

Включить программную проверку четности

{+|-}istrip

Удалять из поступающих символов 7-й бит

{+|-}inlcr

Преобразовывать NL в CR во входных данных

{+|-}onlcr

Преобразовывать NL в CR в выходных данных

{+|-}igncr

Игнорировать поступающие символы CR

{+|-}icrnl

Преобразовывать CR в NL во входных данных

{+|-}ixon

Аналогично osflow

{+|-}ixoff

Аналогично isflow

{+|-}isig

Генерировать сигналы при поступлении специальных символов

{+|-}icanon

Разрешить правку строк ввода

{+|-}iexten

Разрешить "дополнительные" специальные символы

{+|-}echo

Выводить поступающие символы

{+|-}echoe

Символ удаления удаляет отображаемый символ

{+|-}echok

Символ уничтожения удаляет отображаемую строку

{+|-}echonl

Повторять NL, в том числе при отключенном ECHO

{+|-}noflsh

Не сбрасывать ввод-вывод после получения INTR, QUIT или SUSP

min=число

Минимально необходимое число символов для ввода необработанных данных

time=число

Значение таймаута для необработанных входных данных

{+|-}tostop

Посылать SIGTTOU для фонового вывода.

+nl

Аналогично +icrnl

-nl

Аналогично -icrnl, -inlcr, -igncr

+sane

Изменять все параметры на приемлемые значения в зависимости от текущего режима (правка/необработанные данные)

+fix

Аналогично +sane

+edit

Изменять значения параметров на системные значения по умолчанию для режима правки

+flush

Сбросить все входные и выходные данные, ожидающие обработки

+raw

Изменять значения параметров на системные значения по умолчанию для режима необработанных данных


Параметры обработки выходных данных

Параметр

Определение

{+|-}opost

Постобработка выходных данных


Специальные управляющие символы

Параметр

Определение

eof=значение

Символ конца файла

eol=значение

Символ конца строки

erase=значение

Символ удаления предыдущего символа

kill=значение

Символ удаления всей строки

intr=значение

Символ создания SIGINT

quit=значение

Символ создания SIGQUIT

susp=значение

Символ создания SIGTSTP

stop=значение

Остановить вывод

start=значение

Возобновить вывод

+ek

Изменить параметры ERASE и KILL на системные значения по умолчанию


Расширенные последовательности символов для правки строк

Помимо стандартных функций "erase" и "kill", QNX Neutrino поддерживает другие многосимвольные последовательности, обеспечивающие дополнительные возможности правки. Все такие последовательности должны состоять из префикса длиной до 4-х символов, односимвольного действия и суффикса длиной до 4-х символов. Как правило, для этих функций используются клавиши управления курсором на терминале.

Подстановка параметра

Значение

+load

Задать клавиши правки на основе текущего установленного типа терминала

term=имя

Задать клавиши правки для указанного типа терминала

pr1=значение

Первый символ префикса

pr2=значение

Второй символ префикса

pr3=значение

Третий символ префикса

pr4=значение

Четвертый символ префикса

sf1=значение

Первый символ суффикса

sf2=значение

Второй символ суффикса

sf3=значение

Третий символ суффикса

sf4=значение

Четвертый символ суффикса


Символы действий

Ниже перечислены символы действий при наличии префиксов (следующие за ними суффиксы не указаны).

Параметр

Значение

up=значение

Извлечь предыдущую строку

down=значение

Извлечь следующую строку

left=значение

Переместить курсор влево

right=значение

Переместить курсор вправо

ins=значение

Переключить режим вставки

del=значение

Символ удаления текущего символа

rub=значение

Символ удаления предыдущего символа

can=значение

Символ удаления всей строки

home=значение

Переместить курсор к началу строки

end=значение

Переместить курсор к концу строки


Примеры:

Просмотр настроек терминала, к которому подключена утилита stty:

stty

Просмотр настроек указанного устройства:

stty < /dev/ser1

Изменение скорости передачи в бодах для указанного устройства:

stty baud=1200 < /dev/ser1

Перевод терминала в фиксированное приемлемое состояние:

stty +sane

Установка значения для клавиш правки согласно стандарту VT100:

stty term=vt100

Восстановление параметров настройки из переменной командного интерпретатора:

stty $saveterm

Статус завершения:

0

Успешно.

>0

Возникла ошибка.

Предупреждения:

Утилита stty воспринимает все описанные опции, однако некоторые из них могут не поддерживаться текущими средствами управления.