Bash에서 대소문자를 구분하지 않고 완료

Bash에서 대소문자를 구분하지 않고 완료

폴더가 있습니다 ~/TestFolder. 현재 작업 디렉터리는 홈 디렉터리( ~)입니다.

예를 들어 부분 명령을 입력하고 Tab 을 누를 때 명령이 제공되도록 자동 완성을 원합니다 cd test.cd TestFolder

이 목표를 어떻게 달성할 수 있나요?

답변1

불다

-file 에 다음을 추가하십시오 ~/.bashrc.

bind -s 'set completion-ignore-case on'

Gilles의 답변에 설명된 대로 이렇게 하면 bash에서 대소문자를 구분하지 않고 완료됩니다. CD 매개변수에서 대소문자를 구분하지 않게 만드는 방법은 무엇입니까?.

bash 5.0.17을 사용하여 Ubuntu 20.04에서 테스트되었습니다.

다른 옵션

bash와 zsh만 테스트했습니다. 이것은 내가 다른 쉘에서 찾은 것입니다.

연결된 답변에 또 다른 옵션이 set completion-ignore-case on추가되었습니다 inputrc. 다른 쉘에서도 사용할 수 있습니다. ~에 따르면이것답변은 bash에서 이 옵션을 사용할지 여부에 대해서도 설명합니다.

따라서 bash를 사용하지 않는 경우 특정 쉘을 먼저 조사하는 것이 좋습니다(다른 사람이 다른 쉘에 대해 테스트된 답변을 추가하지 않는 한).

지쉬

zsh사용하다다른readline/inputrc 대신 라인 편집기. 설치하는 동안 이미 다음 줄이 포함되어 있는 2Add Recommendations 를 누르는 옵션을 제공합니다 . ~/.zshrc기본적으로 원하는 동작을 활성화합니다.

zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za- z}' 'r:|[._-]=* r:|=* l:|=*'

zsh 5.8을 사용하여 Ubuntu 20.04에서 테스트되었습니다.

이는 또한 도움이 될 수 있습니다:zsh의 탭 완성과 대소 문자 구분 없음 결합

관련 정보