стти хупкл иксон иксофф - PullRequest
6 голосов
/ 21 июня 2011

Я вижу stty, not a typewritter сообщения в hpux (несмотря на интерактивную проверку терминала?), И я предполагаю, что это из-за строк stty в моем файле .kshrc:

case $- in
*i* )
    stty hupcl ixon ixoff
    stty erase '^?' kill '^U' intr '^C' eof '^D' susp '^Z'
;;
esac

Два вопроса:

1) Я знаю, почему там есть строка стирания, так как возврат без нее не работает. Эти строки .kshrc я унаследовал, но не знаю, что они делают.

Кто-нибудь знает смысл линий hupcl ixon ixoff? Страница руководства stty не особенно полезна:

hupcl (-hupcl)           Hang up (do not hang up) modem connection on
                         last close.

ixon (-ixon)             Enable (disable) START/STOP output control.
                         Output is stopped by sending an ASCII DC3 and
                         started by sending an ASCII DC1.

ixoff (-ixoff)           Request that the system send (not send)
                         START/STOP characters when the input queue is
                         nearly empty/full.

2) Есть ли другой способ проверки наличия интерактивных терминалов. У меня были tty -s; если [$? ], но в hpux это также кажется шумным.

Ответы [ 2 ]

11 голосов
/ 05 августа 2011

ixon и ixoff используются, чтобы настаивать на том, что Ctrl - s и Ctrl - q должны интерпретироваться как контрольпотоковые (блокировка прокрутки) сигналы.Они используются по умолчанию в большинстве систем, но если у вас быстрое соединение и / или вы не ожидаете объем вывода, который не может обработать ваш терминал, вы можете отключить их.

Обычно я использую stty -ixon -ixoff, поэтому могу вернуть привязки клавиш Ctrl - s и Ctrl - q для более современных целей (например,"сохранить" и "выйти").

Для более подробной информации: https://unix.stackexchange.com/questions/12107/how-to-unfreeze-after-accidentally-pressing-ctrl-s-in-a-terminal#12146

1 голос
/ 22 июня 2011

\ 1.

Поскольку вы унаследовали свой .kshrc, возможно, по какой-то причине ваша система нуждалась в этих дополнительных hupcl, ixon, ixoff параметрах.Сейчас они могут быть устаревшими, но они могут быть чем-то, что ориентировано на HP.ИЛИ может быть, что какое-то приложение лучше работает с ними.Может быть, старый таймер узнает.

Кто-нибудь знает смысл линий hupcl ixon ixoff

Для меня эти описания довольно очевидны, но потом ячтобы справиться с такими проблемами, пожалуйста, прочитайте Orielly termcap & terminfo , чтобы разобраться.Вы можете посмотреть на man ascii, чтобы увидеть DC3 и DC1 в их контексте, или поиск в Google может принести вам что-то интересное.

Сейчас я бы ожидал, что, если у вас нет особых потребностей, они вам не помогут.У вас есть специальное оборудование HP или специальные приложения terminfo.Если нет, попробуйте закомментировать эту строку.

\ 2.Тест на интерактив

Мне нравится ваш case $- in *i* ..., который должен быть достаточно хорошим.

else

  if tty -s > /dev/null 2>&1 ; then ...

может помочь

ИЛИ каноническим

  if [[ -t 0 ]]; then

Надеюсь, это поможет.

...