Ich bekomme den übergeordneten Ordner zusammen mit dem Inhalt des Ordners komprimiert

Ich bekomme den übergeordneten Ordner zusammen mit dem Inhalt des Ordners komprimiert

Ich habe ein Bash-Skript erstellt, um den Prozess des Packens von Browsererweiterungen in Archiven zu automatisieren , aber aus irgendeinem Grund packt es .zipneben dem Inhalt des aktuellen Verzeichnisses ( publicOrdner manifest.jsonund ) auch den Ordner (oberer Ordner) zusammen mit dem aktuellen Ordner und den gesamten Inhalt daraus erneut. Daher beende ich mit:index.htmlmcm_extension

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

Anstatt

public/
manifest.json
index.html

in mcmc.zipund mcmf.zip. Hier ist das Skript:

# 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 *

Antwort1

Auf das aktuelle Verzeichnis und das übergeordnete Verzeichnis wird jeweils mit .und verwiesen ...

Um also nur den Inhalt zu komprimieren und dabei sowohl das aktuelle Verzeichnis als auch das übergeordnete Verzeichnis auszuschließen, versuchen Sie Folgendes

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

Um nur das übergeordnete Verzeichnis auszuschließen und das aktuelle Verzeichnis beizubehalten, versuchen Sie

zip -r /path_to_folder/* -x ..

-xDie Option dient zum Ausschließen einer Datei oder eines Verzeichnisses beim Komprimieren mit zip.

verwandte Informationen