2011-06-21 51 views
6

我看到在HPUX stty, not a typewritter消息(?儘管一個交互式終端校驗),並猜,這些都是由於stty的線在我的.kshrc文件:的stty HUPCL IXON IXOFF

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。

回答

9

ixonixoff用於堅持Ctrl鍵 - 小號Ctrl鍵 - q被解釋爲控制流(滾動鎖定)信號。它們是大多數系統的默認設置,但如果您的連接速度很快,並且/或者預計不到終端無法處理的輸出量,那麼您可以關閉它們。

我通常使用stty -ixon -ixoff這樣我就可以收回按Ctrl - 小號按Ctrl - q更多的現代目的鍵綁定(例如, 「保存」 和 「退出」)。

欲瞭解更多詳情:https://unix.stackexchange.com/questions/12107/how-to-unfreeze-after-accidentally-pressing-ctrl-s-in-a-terminal#12146

+0

對於CTRL-S是'ixon'而對於CTRL-Q是'ixoff'? – CMCDragonkai

1

\ 1。

正如你已經繼承你的.kshrc,可能有一個原因,一次你的系統需要這些額外的hupcl, ixon, ixoff參數。它們現在可能已經過時,但它們可能是以HP爲中心的東西。或者可能是某些應用程序在包含它們的情況下效果更好。也許一個ol計時器會知道。

有人知道HUPCL IXON IXOFF線的點

對我來說,這些描述都相當不言自明的,但後來我不得不處理這些問題的方式---- YYYY回來,閱讀Orielly termcap & terminfo進行整理。 你可以看看man ascii在他們的上下文中看到DC3和DC1,或谷歌搜索可能會讓你感興趣。

現在,我希望除非你有特殊需求,這些對你沒有什麼幫助。 您是否有特殊的HP硬件或特殊的terminfo應用程序。如果不是,請嘗試評論該線。

\ 2。互動測試

我喜歡你的case $- in *i* ...,應該足夠好。

其他

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

可能幫助

或cannonical

if [[ -t 0 ]]; then 

我希望這有助於。

+0

謝謝。這可能是一個很好的答案。我希望不需要閱讀那本書;) –