我有如下文件和文件夹:
/myproject/config/1.xml
/myproject/src/1.py
Run Code Online (Sandbox Code Playgroud)
我现在使用 bash 脚本压缩文件,如下所示:
cd myproject
zip -9 -r -q myfile.zip ./src/*
zip -9 -q myfile.zip ./config/1.xml
Run Code Online (Sandbox Code Playgroud)
zip 文件现在有 2 个文件夹,其中有 1 个 config 和 1.xml,以及 1 个 src 和 1.py。这就是我想要的,这两个文件夹在 zip 文件中处于同一级别。
现在我必须将 config 文件夹移出一个级别,src 文件夹仍然保留。
/config/1.xml
/myproject/src/1.py
Run Code Online (Sandbox Code Playgroud)
我可以将代码更改为以下:
cd myproject
zip -9 -r -q myfile.zip ./src/*
zip -9 -q myfile.zip ../config/1.xml
Run Code Online (Sandbox Code Playgroud)
但是文件夹config不再与src处于同一级别。
我在这里缺少什么?
Leo*_*eon 11
为了在压缩存档内构建所需的层次结构,您必须传递给表示此类层次结构的 zip 相对路径。在您的情况下./src
,并../config
显示为不同的级别,这反映在生成的存档中。为了使config
和src
出现在同一级别,您必须cd
在脚本中添加额外内容:
cd /myproject
zip -9 -r -q /myfile.zip ./src/*
cd /
zip -9 -q /myfile.zip ./config/1.xml
Run Code Online (Sandbox Code Playgroud)