디렉토리 변경을 위한 bash 와일드카드가 있습니까?

디렉토리 변경을 위한 bash 와일드카드가 있습니까?

Bash 명령줄을 사용할 때 예를 들어 다음을 사용하여 디렉터리로 변경할 수 있습니다.

cd /volumes

그러나 나는 입력하고 싶습니다 ...

cd /vol*

하지만 그건 작동하지 않습니다. 와일드카드를 사용하여 디렉토리를 탐색하는 방법이 있습니까?

답변1

Mac OS는 기본적으로 대소문자를 구분하지 않는 파일 시스템을 사용합니다. cd /volumes와 동일 cd /Volumes하지만 bash는 다음을 glob할 수 없습니다 vol*.cd /Vol*

답변2

@William Pursell이 말했듯이 이는 폴더 이름이 /volumes가 아니라 /Volumes이기 때문입니다. OS X 파일 시스템은 대소문자를 구분하지 않으므로 차이를 무시하지만 bash는 대소문자를 구분하고 차이점을 무시합니다.

그러나 bash의 기본 동작을 변경할 수 있습니다. 파일 패턴의 대소문자를 구분하지 않는 확장을 수행하도록 하려면 shopt -s nocaseglob~/.bashrc 및 ~/.bash_profile 파일에 명령을 추가하십시오(두 파일 모두에 필요하므로 옵션은 두 로그인 쉘 모두에 설정됩니다). 및 서브쉘). 대소문자 불일치에도 불구하고 파일 이름 완성이 작동하도록 하려면 set completion-ignore-case on~/.inputrc 파일에 추가하거나 bind "set completion-ignore-case on"~/.bashrc 및 ~/.bash_profile 파일에 추가하십시오.

답변3

타자:

cd /vol*

공장괜찮아. /vol*여러 디렉터리로 확장 하더라도 bash첫 번째 디렉터리를 사용하고 나머지는 무시합니다. 정확히 무엇이 당신에게 효과가 없습니까?

관련 정보