Bash 쉘에서 다음 glob을 시도하고 있습니다.
$ ls -d .*
. .. .a .ab
$ ls .a*
.a .ab
$ ls .[!.]*
.a .ab
$ ls .[!.]?*
.ab
마지막 표현은 "점 뒤에 점이 아닌 문자 뒤에 0개 이상의 문자가 옵니다"를 의미해야 하지 않나요? 경기는 왜 실패했나요 .a
?
답변1
당신은 오해했습니다. 이는 "점 다음에 점이 아닌 문자, 문자, 0개 이상의 문자가 뒤따르는"을 의미합니다. .a
일치하는 문자가 충분하지 않습니다.
하지만 실제로는 설정만 하면 됩니다 dotglob
.