shopt -s nocaseglob이 우분투에서 작동하지 않습니다

shopt -s nocaseglob이 우분투에서 작동하지 않습니다

Ubuntu 11.04 64비트의 bash에서는 대소문자를 구분하지 않는 파일 이름 와일드카드가 작동하지 않습니다. 지정된 쉘 옵션은 .bashrc다음과 같습니다.

shopt -s nocaseglob 
shopt -s nocasematch

shopt는 또한 nocaseglob다음 nocasematch을 나타냅니다 on. 그러나 디렉터리 변경이나 파일 열기의 경우 대소문자 구분 모드에서는 작동하지 않습니다.

대소문자를 구분하지 않는 파일 이름 글로빙을 활성화하기 위해 다른 옵션이 필요한지 확인하고 싶습니다.

답변1

정말 와일드카드 확장을 하고 있나요? 예를 들어 이라는 디렉터리가 있다고 가정해 보겠습니다 Foobar. 그 다음에

cd foobar

와일드카드 문자가 없으므로 와일드카드 작업이 수행되지 않습니다. 파일 이름을 정확하게 지정하는 경우 이를 어떻게 할지 결정하는 것은 응용 프로그램에 달려 있으며, UNIX 파일 이름은 대소문자를 구분하므로 Foobar응용 프로그램에 이름이 지정된 파일을 열도록 지시하면 응용 프로그램은 이름이 이름인 파일을 열지 않습니다 foobar.

반면에,

cd foo*

이 옵션을 설정하면 해당 디렉터리가 변경됩니다 Foobar(다른 일치 항목이 없다고 가정).nocaseglob

완성 시 대소문자를 구분하지 않도록 설정할 수도 있습니다. 에 넣거나 set completion-ignore-case on,~/.inputrc

bind 'set completion-ignore-case on'

존재하다 ~/.bashrc. 그런 다음 를 입력 cd foo하고 누르면 Tab쉘이 완성됩니다 Foobar.

관련 정보