Estoy haciendo un script de shell para empaquetar algunos archivos. Estoy comprimiendo un directorio como este:
zip -r /Users/me/development/something/out.zip /Users/me/development/something/folder/
El problema es que el archivo resultante out.zip tiene la ruta completa del archivo. Es decir, cuando se descomprime, tendrá toda la ruta "/ Users / me / development / anotherthing /". ¿Es posible evitar estas rutas profundas al colocar un directorio en un archivo?
Cuando ejecuto zip desde el directorio de destino, no tengo este problema.
zip -r out.zip ./folder/
En este caso, no consigo toda la basura. Sin embargo, el script en cuestión será llamado desde donde sea.
FWIW, estoy usando bash en Mac OS X 10.6.

$ pushd /some/path ; do-something ; popd... o incluso con subcapas:$ ( cd /some/path ; do-something )&&lugar de;es una buena idea para que el otro comando no se ejecute sicdfalla (error tipográfico u otro problema):(cd /some/path && do-something)zip -j?Sí. Use la
-jopción conzip.-jes "basura el camino". Según la página del manual en zip :Usar
-jsignifica el siguiente comando:Creará un archivo similar a:
fuente
Hay
pushdypopdy$OLDPWD. Suponiendo que$PWDes/Users/me/developmentdo:Ahora el
$PWDregreso a/Users/me/developmentfuente