Bazı dosyaları paketlemek için bir kabuk betiği yapıyorum. Böyle bir dizini sıkıştırıyorum:
zip -r /Users/me/development/something/out.zip /Users/me/development/something/folder/
Sorun, sonuçta ortaya çıkan out.zip arşivinin içindeki tüm dosya yoluna sahip olmasıdır. Yani, açıldığında, içinde "/ Kullanıcılar / ben / gelişme / başka bir şey /" yolu bulunacaktır. Bir dizini arşive koyarken bu derin yollardan kaçınmak mümkün müdür?
Hedef dizinin içinden zip'i çalıştırdığımda, bu sorunu yaşamıyorum.
zip -r out.zip ./folder/
Bu durumda, tüm çöpleri anlamıyorum. Ancak, söz konusu senaryo her yerden çağrılacaktır.
FWIW, Mac OS X 10.6'da bash kullanıyorum.
$ pushd /some/path ; do-something ; popd
... veya hatta alt kabuklarla:$ ( cd /some/path ; do-something )