우분투 터미널은 Linux에서 예상되는 것처럼 대소 문자를 구분하는 자동 완성을 사용합니다.
그러나 대소 문자를 구분하지 않고 이름을 시작하는 동안 정확성을 유지하는 것이 더 편리하고 추가 오 탐지 가치가 있다고 생각합니다. 이 행동을 바꿀 수 있습니까?
우분투 터미널은 Linux에서 예상되는 것처럼 대소 문자를 구분하는 자동 완성을 사용합니다.
그러나 대소 문자를 구분하지 않고 이름을 시작하는 동안 정확성을 유지하는 것이 더 편리하고 추가 오 탐지 가치가 있다고 생각합니다. 이 행동을 바꿀 수 있습니까?
답변:
수 있도록하기 위해 bash
현재 사용자에 대한 대소 문자를 구별하지 :
터미널에서 다음 쉘 스크립트를 실행하십시오.
# If ~/.inputrc doesn't exist yet: First include the original /etc/inputrc
# so it won't get overriden
if [ ! -a ~/.inputrc ]; then echo '$include /etc/inputrc' > ~/.inputrc; fi
# Add shell-option to ~/.inputrc to enable case-insensitive tab completion
echo 'set completion-ignore-case On' >> ~/.inputrc
새 쉘을 시작하십시오 (터미널을 다시여십시오).
시스템 전체를 변경하려면 다음을 수행하십시오.
# add option to /etc/inputrc to enable case-insensitive tab completion for all users
echo 'set completion-ignore-case On' >> /etc/inputrc
# you may have to use this instead if you are not a superuser:
echo 'set completion-ignore-case On' | sudo tee -a /etc/inputrc
자세한 내용은를 참조하십시오 man bash
. 예, 긴 페이지이지만 bash는 다소 복잡한 프로그램이므로 "대소 문자를 구분하지 않는"페이지를 검색하여 관련 섹션으로 이동하십시오. 사람들은 일반적으로 한 번에 하나의 옵션 또는 한 번에 하나의 bash 스크립트를 배우고 모든 뉘앙스를 마스터하는 데 시간이 오래 걸립니다. 관심 분야가 다를 수 있습니다.
>>
보다 안전 >
합니까?
$include /etc/inputrc
와 set completion-ignore-case on
당신 ~ ..inputrc 파일에 있어야합니다.
터미널을 열고 아래 명령을 입력하십시오 :
echo set completion-ignore-case on | sudo tee -a /etc/inputrc
암호를 입력. 터미널을 다시 시작하십시오.
경우에 따라 대소 문자를 구분하지 않으려면 행을 제거하여 / etc / inputrc 파일을 편집하십시오 set completion-ignore-case
.
그게 다야.
나는이 질문이 매우 오래되었다는 것을 알고 있지만 뭔가 빠지지 않으면 bash를 사용하는 경우 매우 간단한 해결책이 있다고 생각합니다.
echo "bind 'set completion-ignore-case on'" >> ~/.bashrc
또는 원하는 텍스트 편집기를 사용하여 줄을 추가하십시오. bash 세션을 다시 시작하고 즐기십시오.
bind 'set completion-ignore-case on'
해야 할 것은.bashrc
대화 형 쉘에서 입력을 처리하는 GNU readline에 대한 구성 변수를 설정하여이를 수행 할 수 있습니다.
필요한 변수는 completion-ignore-case
이며 다음을 사용하여 bash 세션에서 직접 설정할 수 있습니다.
bind "set completion-ignore-case on"
모든 사용자가 사용할 수 있도록 사용자 ~/.inputrc
파일 또는 시스템 에 넣어 향후 모든 bash 세션에 대해 활성화 할 수 있습니다 /etc/inputrc
. 이것은 readline의 초기화 파일입니다.
그러나 당신이 만드는 경우주의 ~/.inputrc
,이됩니다 시스템 복사를 오버라이드 (override) . (나를 위해 Ctrl-Left
/ 와 같은 일부 키 매핑이 손실되었습니다 Right
. /etc/inputrc
파일을 살펴보면 어느 것을 볼 수 있습니다 .)
이 문제를 해결하는 방법은 다음과 같이 줄 $include /etc/inputrc
을 맨 위에 두는 것입니다 ~/.inputrc
.
$include /etc/inputrc
set completion-ignore-case on
변경 사항을 적용하려면 bash를 다시 시작하거나 inputrc를 다시로드하십시오 ( 예 : Ctrl+x,) Ctrl+r.
작성한 Readline와 INPUTRC에 대한 자세한 내용은에서 찾을 수 있습니다 man bash
와 man 3 readline
.