일부 파일을 패키징하기 위해 쉘 스크립트를 만들고 있습니다. 다음과 같은 디렉토리를 압축하고 있습니다.
zip -r /Users/me/development/something/out.zip /Users/me/development/something/folder/
문제는 결과 out.zip 아카이브에 전체 파일 경로가 있다는 것입니다. 즉, 압축을 풀면 전체 "/ Users / me / development / anotherthing /"경로가됩니다. 디렉토리를 아카이브에 넣을 때 이러한 깊은 경로를 피할 수 있습니까?
대상 디렉토리 내부에서 zip을 실행하면이 문제가 없습니다.
zip -r out.zip ./folder/
이 경우 모든 쓰레기를 얻지는 못합니다. 그러나 해당 스크립트는 어디에서나 호출됩니다.
FWIW, Mac OS X 10.6에서 bash를 사용하고 있습니다.
$ pushd /some/path ; do-something ; popd
도 서브 쉘로 ... 나 :$ ( cd /some/path ; do-something )