답변:
~/.inputrc
파일을 편집 (또는 작성)하십시오 . 말하는 줄 추가
set echo-control-characters Off
이것은 Bash가 사용하는 GNU Readline 라이브러리에 제어 문자를 화면에 출력하지 않도록 지시합니다. 이 설정은 이후의 모든 새로운 Bash 세션 (및 Readline 라이브러리를 사용하는 다른 유틸리티)에서 활성화됩니다.
것을 알 수 있는 경우 유닉스 시스템 (보통의 Readline 라이브러리 시스템 전체 구성 파일과 함께 제공 /etc/inputrc
), 다음 개인 설정 파일은 그 파일을 포함해야합니다 :
$include /etc/inputrc
set echo-control-characters Off
또 다른 대안은 시스템 전체 구성 파일의 개인 사본을 작성한 다음 수정하는 것입니다.
sleep 180
하고 Ctrl + C
~/.inputrc
존재하지 않는 경우 단순히 파일을 작성하면 일부 기존 설정이 손실 될 수 있습니다. 필자의 경우 먼저 ctrl + left 및 ctrl + right가 작동을 멈 췄음을 알았습니다. 수정은 ~/.inputrc
이 라인 으로 시작하는 것이 었습니다 $include /etc/inputrc
. cp /etc/inputrc .inputrc
원하는대로 편집하고 편집 할 수도 있습니다 .
다음을 시도하십시오 :
stty -echoctl
설명은 참조 에서이 위대한 상세한 포스트 스테판 Chazelas가 일부 다른 설명 stty
기능 .
변경 사항을 영구적으로 만들고 싶다면 (그리고 bash
질문에 암시 된대로 사용 하고 있다면) 주석 .bashrc
에 jlmg 가 언급 한대로 입력하는 것이 가장 좋습니다 (따라서 모든 대화 형 쉘에 적용됨).
.bash_profile
파일이 로그인 쉘에 의해서만 구문 분석되기 때문에 모든 터미널에서 작동하지 않을 것이라고 언급해야합니다 . .bashrc
대신 입력해야 하므로 모든 대화식 호출에서 읽습니다.
^[[A
stty -echo
. 그것은 물론 다른 모든 것의 에코를 막을 것입니다 ^C
.
^C
항상 끝났다면 나는 당신과 동의 할 것입니다. 그러나 ^C
커서의 어느 위치 에나 인쇄되어 명령의 어느 위치에서나 한 쌍의 문자를 덮어 쓸 수 있습니다. 즉, 해당 명령의 일부를 복사하여 붙여 넣어야 할 경우 엉망이 될 수 있습니다. 그리고 ^C
터미널을 살펴볼 때 명령이 끝났을 때처럼 쉽게 인식되지 않습니다.
를 포함하여 정상적인 반향을 허용 echoctl
하고 신호 생성 문자의 반향을 침묵 시키는 구성을 찾으려고 노력하고 있다면 이전에 그렇게 작동하는 것을 보았 기 때문에 가능해야합니다 ...
아마 그런 식으로 보았을 것입니다. 그러나이 커밋으로 인해 더 이상 가능하지 않습니다 .
커밋 ec5b1157f8e819c72fc93aa6d2d5117c08cdc961
N_TTY 라인 분야에서 INTR / QUIT / SUSP 에코를 켭니다 (예 : stty echoctl이 설정되고 ctrl-C가 INTR로 설정된 경우 ctrl-C는 "^ C"로 나타남).
리눅스는 유닉스와 같은 유일한 OS 인 것 같습니다 (최근 에이 방법 은 작동 하지 않는 Solaris, BSD 및 Mac OS X에서 이것을 확인했습니다). 콘솔 또는 xterm에서. 나는 수년 동안 내가 사용해온 많은 유닉스들로부터 이것을 좋아한다는 것을 기억합니다. 이것을 리눅스로 가져 오는 것은 표준 유닉스와 같은 행동을 더 잘 준수하는 좋은 방법처럼 보입니다.
리눅스가 어떻게 그것을 반향 하지 않았던 지를 기억한다면 ^C
, 이전의 행동을 되 찾는 유일한 방법은 커널을 패치하는 것입니다. 최신 버전에서 신호 생성 문자의 에코는 drivers / tty / n_tty.c의 1215-1218 행에 있습니다.
set echo-control-characters off