W moim skrypcie zip
wywołuję komendę z pełną ścieżką do archiwum i katalogu docelowego w następujący sposób:
zip -r /srv/www/htdocs/xxx/system/tmp/build/tmp_build.zip /srv/www/htdocs/xxx/system/tmp/build/tmp_build_dir_1344856484/
tmp_build_dir_1344856484
-Directory drzewo wygląda następująco:
+
|-- output.xml
|-+ ressources/
|- some_file.png
|- another_file.png
Mój problem polega na tym, że potrzebuję katalogu głównego archiwum zip, aby mieć plik XML i ressources
folder, ale obecnie archiwum zawiera także pełną nazwę ścieżki.
# Wanted path to some_file.png in zip-file:
/ressources/some_file.png
# What I currently get:
/srv/www/htdocs/xxx/system/tmp/build/tmp_build_dir_1344856484/ressources/some_file.png
Jak mogę obciąć ścieżkę tylko do określonego poziomu, aby móc zachować podfolder, ale nie mieć w nim całego drzewa katalogów?
Odpowiedzi:
Spróbuj tego:
źródło
(cd $long_path && zip -r ../tmp_build.zip)
. Lub też możnapushd/popd
do tego użyć .