![ls 명령: 와일드카드 없이 대소문자를 무시하는 방법](https://linux55.com/image/53664/ls%20%EB%AA%85%EB%A0%B9%3A%20%EC%99%80%EC%9D%BC%EB%93%9C%EC%B9%B4%EB%93%9C%20%EC%97%86%EC%9D%B4%20%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EB%AC%B4%EC%8B%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
대소 문자 무시 명령을 사용 shopt -s nocaseglob
하지만 glob 없이 문자열을 사용하면 작동하지 않는 것 같습니다.
그냥 궁금해서 질문입니다. 와일드카드 없이 대소문자를 무시할 수 있습니까? 그러면 ls a
둘 다 출력됩니다.ㅏ그리고ㅏ
답변1
아니, ls
아니. 그러나 다음과 같은 것을 사용할 수 있습니다.
$ ls [Aa]
$ find . -iname a
$ echo [aA]
그 이유는 이 shopt
명령이 쉘이 글로브를 확장하는 방법에만 영향을 미치기 때문입니다. 그래서 당신이 달릴 때ls *a
뒤쪽에shopt
쉘에 의해 확장되는 명령을 실행하십시오 .
ls a A
따라서 @Kevin이 말했듯이 글로벌이 확장됩니다.앞으로ls
에 전달되므로 nocaseglob
glob 대신 간단한 문자열을 제공하면 작동하지 않습니다.
답변2
ls
습관. Glob 확장은 호출되기 전에 쉘에 의해 처리됩니다.