Bash 탭 완료에서만 경고음을 끄는 방법

Bash 탭 완료에서만 경고음을 끄는 방법

나는 이 신호음이 어떤 일에 유용하다고 생각해서오직탭 완성을 위해 끄고 싶습니다(완전히 끄는 방법을 묻는 것이 아닙니다.이미 답변되었습니다Serverfault에 대한 다른 질문에서). 또한 RHEL5에서 작업하는 동안 루트 액세스 권한이 없습니다.

답변1

Readline 라이브러리에는 bell-style변수가 있습니다:

Readline이 터미널 벨을 울리려고 할 때 무슨 일이 일어나는지 제어합니다. 'none'으로 설정하면 Readline은 벨을 울리지 않습니다. 'visible'로 설정하면 Readline은 사용 가능한 경우 보이는 벨을 사용합니다. 'audible'(기본값)로 설정되면 Readline은 터미널 벨을 울리려고 시도합니다.

따라서 다음 줄을 파일에 넣을 수 있습니다 ~/.inputrc.

 set bell-style none

다음 bind -f ~/.inputrc으로 한 번 실행하여 로드합니다.

답변2

별도의 파일을 만들고 유지하지 않으려면 ~/.inputrc다음 줄을 추가하면 됩니다 ~/.bashrc.

bind 'set bell-style none'

그런 다음 source ~/.bashrc다시 로드합니다.

답변3

탭 완료 벨을 비활성화하는 방법을 모르겠습니다 bash(벨을 완전히 비활성화하거나 주관적으로 더 짜증나는 시각적 벨로 변경하는 것 제외).

set show-all-if-ambiguous on시도해 볼 수 있습니다 . 이렇게 하면 두 번 칠 때까지 기다리는 대신 두 번 ~/.inputrc칠 때 즉시 일치하는 명령/항목 목록이 쉘에 표시됩니다 . 부작용은 후보 경기가 표시되기 전에 벨이 없다는 것입니다.tabtab

답변4

~/.inputrc에는 다음과 같은 가능성이 있지만 나에게는 아무런 효과가 없었습니다. 벨만 울리네요. 이것은 Cygwin bash의 버그일 수 있습니다.

set bell-style visible

관련 정보