Я архивирую папку верхнего уровня вместе с ее содержимым.

Я архивирую папку верхнего уровня вместе с ее содержимым.

Я сделал bash-скрипт для автоматизации процесса упаковки расширения браузера в .zipархивы, но по какой-то причине, помимо содержимого из текущего каталога ( publicпапки, manifest.jsonи index.html), он также упаковывает mcm_extensionпапку (верхнюю папку) вместе с текущей папкой в ​​ней и все содержимое из нее снова. Поэтому я заканчиваю так:

mcm_extension/
-{current folder name}/
--public/
--manifest.json
--index.html
public/
manifest.json
index.html

Вместо

public/
manifest.json
index.html

в mcmc.zipи mcmf.zip. Вот скрипт:

# Removes .DS_Store files from a project
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

# Creates directories of extension if they don't exist already
mkdir -p ../mcm_extension && mkdir -p ../mcm_extension/mcmc && mkdir -p ../mcm_extension/mcmf

# Google Chrome
cp -R /Users/apple/Development/mcm/public/ /Users/apple/Development/mcm_extension/mcmc/public/
cp /Users/apple/Development/mcm/manifest.json /Users/apple/Development/mcm_extension/mcmc/manifest.json
cp /Users/apple/Development/mcm/index.html /Users/apple/Development/mcm_extension/mcmc/index.html
cd /Users/apple/Development/mcm_extension/mcmc/
zip -r /Users/apple/Development/mcm_extension/mcmc.zip *

# Mozilla Firefox
cp -R /Users/apple/Development/mcm/public/ /Users/apple/Development/mcm_extension/mcmf/public/
cp /Users/apple/Development/mcm/manifestff.json /Users/apple/Development/mcm_extension/mcmf/manifest.json
cp /Users/apple/Development/mcm/index.html /Users/apple/Development/mcm_extension/mcmf/index.html
cd /Users/apple/Development/mcm_extension/mcmf/
zip -r /Users/apple/Development/mcm_extension/mcmf.zip *

решение1

Текущий каталог и родительский каталог обозначаются символами .и ..соответственно.

Итак, чтобы заархивировать только содержимое, исключая текущий каталог и родительский каталог, попробуйте следующее:

zip -r /path_to_folder/* -x .. -x .

Чтобы исключить только родительский каталог и сохранить текущий каталог, попробуйте

zip -r /path_to_folder/* -x ..

-xопция предназначена для исключения файла или каталога при сжатии с помощью zip.

Связанный контент