zip - "."의 차이점 -r 플래그를 사용할 때 "* .[^.]*" 패턴

zip - "."의 차이점 -r 플래그를 사용할 때 "* .[^.]*" 패턴

zip플래그 가 있는 명령을 사용하여 디렉터리 내용(숨겨진 파일 및 디렉터리 포함)을 재귀적으로 압축하는 동안 -r다음 사이에 차이점이 있습니까?

zip ../foo.zip -r .

그리고:

zip ../foo.zip -r * .[^.]*

아니면 정확히 똑같나요?

.첫 번째 명령은 현재 디렉터리( )를 대상으로 가져와야 하며 -r매개 변수는 모든 숨겨진 파일과 디렉터리를 자체적으로 포함해야 합니다.

두 번째 명령은 내가 틀리지 않은 경우 현재 디렉터리의 점이 아닌 모든 파일(첫 번째 *)과 일치한 다음 .char로 시작하는 모든 파일과 일치하고 그 뒤에 점( [^.])을 제외한 모든 문자가 뒤따르므로 상위 디렉터리로 이동하는 것은 제외됩니다 ...

온라인 예제에서 두 번째 명령을 찾았지만, 정확히 같은 방식으로 작동한다면 더 간단한 첫 번째 명령 대신 이 명령을 사용할 이유가 없습니다.

또한 POSIX 쉘 스크립트에서 ShellCheck는 * .[^.]*로 대체되어야 하는 표기법 에 대해 불평합니다 ./* .[!.]*. 이는 간단한 스크립트가 .동일한 작업을 수행하는 경우 이를 사용하지 않는 또 다른 좋은 이유입니다.

내 생각엔 예제에서 zip ../foo.zip * .[^.]*(플래그 없이 -r) 명령이 취해졌고 -r플래그가 단순히 추가되었다는 것입니다. 현재 경로( )가 대신 대상으로 주어진 -r경우 숨겨진 파일과 디렉터리를 포함하는 것을 이미 처리했을 것이라고 생각하지 않았습니다 ..* .[^.]*

그래서 내 질문은 다음과 같습니다. 플래그를 사용할 때 해당 두 명령이 동일합니까 -r? 내 추측이 맞나요?

관련 정보