Ctrl+C를 누르면 ^C 삭제

Ctrl+C를 누르면 ^C 삭제

^CRed Hat Enterprise Linux 6("Santiago")의 셸에서 CTRL+를 누를 때 이를 제거할 수 있는 방법이 있습니까 ? C나는 내 자신의 를 편집할 권한이 있습니다 .bash_profile.

답변1

파일 을 편집(또는 생성)합니다 ~/.inputrc. 다음과 같은 줄을 추가하세요.

set echo-control-characters Off

이는 GNU Readline 라이브러리(Bash에서 사용)에게 제어 문자를 화면에 출력(에코)하지 않도록 지시합니다. 그 이후에는 이 설정이 모든 새로운 Bash 세션(그리고 Readline 라이브러리를 사용하는 다른 유틸리티)에서 활성화됩니다.

참고하세요만약에Unix 시스템에는 Readline 라이브러리에 대한 시스템 전체 구성 파일(일반적으로 /etc/inputrc)이 함께 제공되며 개인 구성 파일에는 다음 파일이 포함되어야 합니다.

$include /etc/inputrc
set echo-control-characters Off

또 다른 옵션은 시스템 전체 구성 파일의 개인 복사본을 만든 다음 수정하는 것입니다.

답변2

다음을 시도해 보십시오:

stty -echoctl

설명은 다음을 참조하세요.이 훌륭하고 자세한 게시물의 출처는 다음과 같습니다.스티븐 차제라스이것은 또한 다른 stty기능 중 일부를 설명합니다..

변경 사항을 영구적으로 유지하려면( bash질문에서 제안한 대로 사용하고 있는 경우) 댓글에 추가하는 것이 좋습니다 .bashrc.길링거주석으로 (따라서 모든 대화형 쉘에서 작동합니다)

답변3

일반적인 반향(포함)을 허용하고 신호 생성 문자의 반향만 침묵시키는 구성을 찾고 echoctl있으며 이전에 이와 같이 작동하는 것을 보았기 때문에 가능하다고 확신한다면... ...

당신은 이런 일이 일어나는 것을 보았을 것입니다. 그러나 이것은 더 이상 가능하지 않습니다.이번에 제출하세요:

ec5b1157f8e819c72fc93aa6d2d5117c08cdc961 제출

N_TTY 라인 규칙에서 INTR/QUIT/SUSP 에코를 켭니다(예를 들어 stty echoctl이 설정되고 ctrl-C가 INTR로 설정된 경우 ctrl-C는 "^C"로 나타납니다).

Linux는 UNIX와 유사한 유일한 운영 체제인 것 같습니다(최근에 Solaris, BSD 및 Mac OS X에서 이를 확인했습니다).아니요이렇게 하면 콘솔이나 xterm에서 프로그램 중단을 시각적으로 확인할 수 있는 것이 정말 그리워집니다. 나는 수년 동안 사용해 온 많은 유닉스에서 이것을 기억합니다. 이를 Linux로 가져오는 것도 표준 UNIX와 유사한 동작과 더욱 일관성을 유지하는 좋은 방법인 것 같습니다.

Linux가 무엇인지 기억한다면아니요^C이전 동작을 복원하는 유일한 방법은 커널을 패치하는 것입니다 . 최신 버전에서는 신호 생성 문자가 1215-1218행에 에코됩니다.드라이버/tty/n_tty.c.

관련 정보