답변:
ls "*.txt"
일반 셸에서 실행할 수없는 것과 같은 방식 으로 하위 셸에서도 실행할 수 없습니다. *.txt
따옴표 를 넣을 때 대신 수행해야 할 때라 ls
는 리터럴 파일을 검색 *.txt
했습니다.
$ echo $(ls *.txt) # => file.txt otherfile.txt
이를 수행하는 더 좋은 방법은 전혀 사용하지 않는 것 ls
입니다.
$ echo *.txt # => file.txt otherfile.txt
ls
.
ls -l "*.txt"
. 아니면 적어도 할 수 있습니다. 자주하지는 않지만, 일반적으로 * .txt를 찾을 수 없다는 메시지가 표시됩니다.
bash
비슷한 셸과 같은zsh
따옴표)는 작은 따옴표와 같지 않습니다! 예를 들어, 매개 변수 확장 ($foo
)은 큰 따옴표 안에 있지만 작은 따옴표는 아닙니다.