ฉันทำเชลล์สคริปต์เพื่อทำแพคเกจไฟล์บางไฟล์ ฉันกำลังซิปไดเรกทอรีเช่นนี้:
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
$ pushd /some/path ; do-something ; popd
... หรือแม้กระทั่งกับ subshells:$ ( cd /some/path ; do-something )