我的终端中不显示控制字符(例如,当我按“^C”时)

我的终端中不显示控制字符(例如,当我按“^C”时)

^C当我按CTRL-C终端时,我的终端不显示。我尝试过设置各种 STTY 选项,但不确定出了什么问题。

我运行的是 Mac OSX 10.11.16,这种现象发生在终端应用程序以及 iTerm2 终端模拟器中。我不确定我哪里出错了。这是输出stty -a

speed 38400 baud; 39 rows; 171 columns;
lflags: icanon isig iexten echo echoe echok echoke -echonl echoctl
    -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
    -extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -iutf8
    -ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
    -dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
    eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
    min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
    stop = ^S; susp = ^Z; time = 0; werase = ^W;

答案1

这取决于软件,并且不一致。有些 shell 只会前进提示符,其他 shell 会显示所需的内容^C(然后可能退出),而其他 shell 会发出除以下内容之外的其他内容^C

%
%
% tclsh
tclsh> ^C
% clisp
[1]> 
*** - Ctrl-C: User break

[2]> 
% perl -MTerm::ReadKey -E 'ReadMode "raw"; $k=ReadKey(0);' \
  -E 'say "control+c" if $k eq "\003"; ReadMode "restore"'
control+c
% 

相关内容