1)
echo *
[az, AZ]가 포함된 파일 이름만 표시되고, .로 시작하는 파일은 표시되지 않습니다.
예를 들어 .bashrc
쉘 글로브로 덮지 않고*
2)
echo .*
예상 출력을 제공합니다.
첫 번째 경우, 쉘 glob에 점으로 구분된 파일 이름이 포함되지 않는 이유는 무엇입니까?
답변1
기본적으로 이는 와일드카드가 작동하는 방식입니다(일반적으로 셸에서만이 아니라). ~에 따르면glob(7)
맨페이지:
경로명
[...]
파일 이름이 "."로 시작하는 경우 이 문자는 명시적으로 일치해야 합니다. (따라서 어떤 파일도
rm *
삭제되지.profile
않으며 어떤 파일도 보관되지 않습니다. 더 좋습니다.)tar c *
tar c .
당신은 또한 볼 수 있습니다POSIX 관련 부분.
셸 설정을 사용하여 이를 변경하거나 일부 셸에 와일드카드 수정자를 추가하여 동작을 일시적으로 변경할 수 있습니다.*가 도트 파일과 일치하는지 여부를 제어하기 위한 bash의 globbing 설정은 무엇입니까?자세한 내용은.