ls 명령: 와일드카드 없이 대소문자를 무시하는 방법

ls 명령: 와일드카드 없이 대소문자를 무시하는 방법

대소 문자 무시 명령을 사용 shopt -s nocaseglob하지만 glob 없이 문자열을 사용하면 작동하지 않는 것 같습니다.

여기에 이미지 설명을 입력하세요.

그냥 궁금해서 질문입니다. 와일드카드 없이 대소문자를 무시할 수 있습니까? 그러면 ls a둘 다 출력됩니다.그리고

답변1

아니, ls아니. 그러나 다음과 같은 것을 사용할 수 있습니다.

$ ls [Aa]
$ find . -iname a
$ echo [aA]

그 이유는 이 shopt명령이 쉘이 글로브를 확장하는 방법에만 영향을 미치기 때문입니다. 그래서 당신이 달릴 때ls *a 뒤쪽에shopt쉘에 의해 확장되는 명령을 실행하십시오 .

ls a A 

따라서 @Kevin이 말했듯이 글로벌이 확장됩니다.앞으로ls에 전달되므로 nocaseglobglob 대신 간단한 문자열을 제공하면 작동하지 않습니다.

답변2

ls습관. Glob 확장은 호출되기 전에 쉘에 의해 처리됩니다.

관련 정보