Estoy comprimiendo la carpeta de nivel superior junto con el contenido de la carpeta.

Estoy comprimiendo la carpeta de nivel superior junto con el contenido de la carpeta.

Hice un script bash para automatizar el proceso de empaquetar la extensión del navegador en .ziparchivos, pero por alguna razón, además del contenido del directorio actual ( publiccarpeta manifest.jsony index.html), también empaqueta mcm_extensionla carpeta (carpeta superior) junto con la carpeta actual y todo el contenido nuevamente. . Por lo tanto termino con:

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

En lugar de

public/
manifest.json
index.html

mcmc.zipy en mcmf.zip. Aquí está el guión:

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

Respuesta1

El directorio actual y el directorio principal se refieren a .y ..respectivamente.

Entonces, para comprimir el contenido excluyendo únicamente el directorio actual y el directorio principal, intente lo siguiente

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

Para excluir solo el directorio principal y mantener el directorio actual, intente

zip -r /path_to_folder/* -x ..

-xLa opción es para excluir un archivo o directorio mientras se comprime con zip.

información relacionada