"stty -a"에 반영된 stty 키 변경 사항이 표시되지 않는 이유는 무엇입니까?

"stty -a"에 반영된 stty 키 변경 사항이 표시되지 않는 이유는 무엇입니까?

내 콘솔(Konsole)에서 일부 키 바인딩을 변경하려고 합니다. intr을 Ctrl-k에 매핑하면 다음을 실행합니다.

stty intr \^k

변경사항이 반영된 것을 볼 수 없습니다.

stty -a
speed 38400 baud; rows 46; columns 172; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

왜 그럴까요?

Ctrl-K가 인터럽트를 보내기 위해 작동하고 있다는 점에 유의하십시오. Ctrl-C는 계속해서 인터럽트를 보냅니다. 다음을 실행하여 Ctrl-C 매핑을 해제하려고 하면

stty intr ^-

또는

stty intr undef

정의되지 않은 상태가 아니며 stty -a는 여전히 "intr = ^C;"를 사용하여 이전과 똑같이 표시됩니다.


업데이트:이제 나는 그것이 내가 실행 중인 쉘(물고기)과 관련이 있다고 의심합니다. bash를 사용하기 위해 다른 프로필을 사용하는 다른 Konsole 탭에서는 예상한 동작이 나타납니다.

답변1

이것은 영원히 깨졌습니다. 보다

https://github.com/fish-shell/fish-shell/issues/2315

https://github.com/fish-shell/fish-shell/issues/814

https://github.com/fish-shell/fish-shell/issues/1041

그리고 다른 여러 가지. 해결 방법은 bash, zsh, ksh 또는 sh를 사용하여 stty명령을 실행한 다음 do 를 실행하는 것입니다 exec fish.

관련 정보