bash中的zip文件夹

bash中的zip文件夹,bash,zip,Bash,Zip,我的文件和文件夹如下所示: /myproject/config/1.xml /myproject/src/1.py cd myproject zip -9 -r -q myfile.zip ./src/* zip -9 -q myfile.zip ../config/1.xml 现在,我使用bash脚本压缩文件,如下所示: cd myproject zip -9 -r -q myfile.zip ./src/* zip -9 -q myfile.zip ./config/1.xml zip

我的文件和文件夹如下所示:

/myproject/config/1.xml
/myproject/src/1.py
cd myproject
zip -9 -r -q myfile.zip ./src/*
zip -9 -q myfile.zip ../config/1.xml
现在,我使用bash脚本压缩文件,如下所示:

cd myproject
zip -9 -r -q myfile.zip ./src/*
zip -9 -q myfile.zip ./config/1.xml
zip文件现在有2个文件夹,其中1个config和1.xml,1个src和1.py。这就是我想要的,这两个文件夹在zip文件中处于同一级别

现在我必须将config文件夹移出一个级别,src文件夹仍然保留

/config/1.xml
/myproject/src/1.py
我可以将代码更改为以下内容:

/myproject/config/1.xml
/myproject/src/1.py
cd myproject
zip -9 -r -q myfile.zip ./src/*
zip -9 -q myfile.zip ../config/1.xml
但是文件夹配置不再与src处于同一级别


这里我缺少什么?

为了在压缩存档中构建所需的层次结构,您必须传递到表示这种层次结构的压缩相对路径。在您的情况下,
/src
。/config
显示为不同的级别,这将反映在生成的存档中。为了使
config
src
显示在同一级别,您必须在脚本中添加额外的
cd

cd /myproject
zip -9 -r -q /myfile.zip ./src/*
cd /
zip -9 -q /myfile.zip ./config/1.xml