我在hpux上看到了stty, not a typewritter消息(尽管进行了交互式终端检查?),我猜这些消息是由于我的.kshrc文件中的stty行造成的:
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;if $?但这在hpux上似乎也很嘈杂。
发布于 2011-06-22 05:11:50
\1.
由于您继承了.kshrc,因此您的系统一度需要这些额外的hupcl, ixon, ixoff参数,这可能是有原因的。它们现在可能已经过时了,但它们可能是以惠普为中心的东西。或者这可能是一些应用程序在包含它们时工作得更好。也许一个老计时员会知道。
有谁知道hupcl
ixoff这句话的意思吗?
对我来说,这些描述是不言而喻的,但我不得不以一种方式来处理这些问题-yyyy,然后阅读Orielly termcap & terminfo来解决它。你可以看看man ascii,看看DC3和DC1的上下文,或者谷歌搜索可能会给你带来一些有趣的东西。
现在,我希望除非你有特殊的需求,否则这些并不能真正帮助到你。您是否有特殊的HP硬件或特殊的终端应用程序。如果没有,请尝试注释掉这一行。
\2.测试交互性
我喜欢你的case $- in *i* ...,应该足够好了。
否则
if tty -s > /dev/null 2>&1 ; then ...可能会有帮助
或者加农炮
if [[ -t 0 ]]; then我希望这能帮到你。
https://stackoverflow.com/questions/6429515
复制相似问题