Bash 매뉴얼에서 파일 이름 확장자의 경우:
파일 이름 확장에 패턴이 사용되는 경우
.
쉘 옵션 dotglob이 설정되지 않은 한 파일 이름 시작 부분이나 슬래시 바로 뒤의 문자가 명시적으로 일치해야 합니다.파일 이름을 일치시킬 때 슬래시 문자는 항상 명시적으로 일치해야 합니다.
다른 경우에는
.
캐릭터가 특별한 대우를 받지 않습니다.
인용문의 상황을 설명하기 위해 몇 가지 예를 들어주실 수 있나요?
.
파일 이름 확장자의 사용 과 하드 링크와 관련 없는 사용을 어떻게 구별합니까 .
?
답변1
아니요용법.
파일 이름 확장자에 . 파일 이름 확장자를 사용하는 경우 .
또는 와 같은 것을 사용하여 명시적으로 요청하지 않는 한 또는 로 시작하는 파일 이름은 일반적으로 제외됩니다 . 파일 이름의 유효한 문자가 아니므로 일치하지 않습니다..*
.?
/
*
/
$ touch foo .foo; echo *; echo .*; echo ./*; echo; ./.*
foo
.foo
./foo
./.foo
*
및 -가 어떻게 제외되는지 참고하세요 . 하지만 첫 번째 명령은 사용되지 않고 세 번째 명령은 사용되므로 와일드카드는 a로 구분됩니다. 로 시작하는 파일 이름을 일치시키려면 선행 - , . 그러나 이 경우의 역할은 의 역할과 다르지 않습니다../*
.foo
echo
.
echo
./
.
/
.
.
.*
./.*
.
a
a*
이 예외는 를 사용하여 비활성화할 수 있습니다 shopt -s dotglob
.
파일 이름 확장자에는 특별한 사용법이 없으므로 .
구별할 것이 없습니다. 파일 이름 확장자의 유일한 특수 문자는 *
, ?
, 입니다 [...]
.