--zip에 목록 배치 포함

--zip에 목록 배치 포함

내가 명령을 실행할 때

zip -r --include '*.rb' '*.sh' '*.zsh' '*irb*' tmp/small_v.zip bin

오류 메시지가 나타납니다zip 오류: 잘못된 명령 인수(선택할 항목 없음)

명령을 다음과 같이 쓰면

zip -r tmp/small_v.zip bin --include '*.rb' '*.sh' '*.zsh' '*irb*'

효과가있다. 왜? zip 매뉴얼 페이지(구체적으로 --include 옵션)를 살펴보면 다음과 같은 사실을 발견했습니다.

명령줄 끝에 -i를 추가해야 하는 명령 구문이 사용되었지만 이 버전에서는 실제로 모든 곳에서 -i(또는 --include)를 허용합니다.. 파일 목록은 -로 시작하는 다음 인수, 명령줄 끝 또는 목록 종결자 @(@ 인수만 해당)에서 종료됩니다.

이를 통해 나는 두 버전의 명령이 모두 작동해야 한다는 결론을 내렸습니다.

저는 MacOS Sierra에서 실행되는 zip 3.0을 사용하고 있습니다.

답변1

이 예에서 중요한 부분은

파일 목록은 로 시작하는 다음 인수 -, 명령줄 끝 또는 목록 종결자 @(인수만 해당 )에서 @종료됩니다 .

당신이 글을 쓸 때

zip -r --include '*.rb' '*.sh' '*.zsh' '*irb*' tmp/small_v.zip bin

tmp/small_v.zipbin에 제공된 파일로 처리되므로 명령 --includezip대상 파일과 처리할 파일 없이 종료됩니다.

--include 할 수 있는어디에나 배치할 수 있지만 해당 인수는 여전히 의미가 있어야 하며 나머지 인수는 식별 가능해야 합니다. 다음과 같이 명령을 작성할 수 있습니다.

zip --include '*.rb' '*.sh' '*.zsh' '*irb*' -r tmp/small_v.zip bin

대신 -r인수를 사용하여 파일 목록의 끝을 식별 하거나 목록을 종료하는 데 --include사용하세요 .@

zip -r --include '*.rb' '*.sh' '*.zsh' '*irb*' @ tmp/small_v.zip bin

--include이 섹션의 끝에 매우 유사한 예가 있습니다.zip(1)맨페이지.

답변2

좀 이상해서 자세히 살펴보진 않았지만

zip -r --include="server_*" ...

CI/CD 설정에서 실행되도록 sth로 시작하는 파일을 포함합니다.

관련 정보