Ich mache ein Shell-Skript, um einige Dateien zu packen. Ich zippe ein Verzeichnis wie dieses:
zip -r /Users/me/development/something/out.zip /Users/me/development/something/folder/
Das Problem ist, dass das resultierende Archiv out.zip den gesamten Dateipfad enthält. Das heißt, wenn es entpackt wird, enthält es den gesamten Pfad "/ Users / me / development / anotherthing /". Können diese tiefen Pfade vermieden werden, wenn ein Verzeichnis in ein Archiv gestellt wird?
Wenn ich zip aus dem Zielverzeichnis heraus starte, habe ich dieses Problem nicht.
zip -r out.zip ./folder/
In diesem Fall bekomme ich nicht den ganzen Müll. Das betreffende Skript wird jedoch von überall aufgerufen.
FWIW, ich verwende Bash unter Mac OS X 10.6.
$ pushd /some/path ; do-something ; popd
... oder sogar mit Subshells:$ ( cd /some/path ; do-something )