터미널에 제어 문자가 표시되지 않습니다(예: "^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

이는 소프트웨어에 따라 다르며 일관성이 없습니다. 일부 쉘은 프롬프트를 진행하고, 다른 쉘은 필요한 내용을 표시하고 ^C(그런 다음 종료할 수도 있음), 다른 쉘은 다음 이외의 것을 발행합니다 ^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
% 

관련 정보