Tôi đang tạo một kịch bản shell để đóng gói một số tệp. Tôi đang nén một thư mục như thế này:
zip -r /Users/me/development/something/out.zip /Users/me/development/something/folder/
Vấn đề là kho lưu trữ out.zip kết quả có toàn bộ đường dẫn tệp trong đó. Đó là, khi được giải nén, nó sẽ có toàn bộ đường dẫn "/ Users / me / Development / otherthing /" trong đó. Có thể tránh những đường dẫn sâu này khi đưa một thư mục vào một kho lưu trữ?
Khi tôi chạy zip từ bên trong thư mục đích, tôi không gặp vấn đề này.
zip -r out.zip ./folder/
Trong trường hợp này, tôi không nhận được tất cả rác. Tuy nhiên, kịch bản trong câu hỏi sẽ được gọi từ bất cứ đâu.
FWIW, tôi đang sử dụng bash trên Mac OS X 10.6.
$ pushd /some/path ; do-something ; popd
... hoặc thậm chí với các chuỗi con:$ ( cd /some/path ; do-something )