我有如下文件和文件夹:
/myproject/config/1.xml
/myproject/src/1.py
我现在使用bash脚本压缩文件:
cd myproject
zip -9 -r -q myfile.zip ./src/*
zip -9 -q myfile.zip ./config/1.xml
zip文件现在有2个文件夹,其中包含1个配置和1.xml,其中包含1个src和1.py。这就是我想要的,2个文件夹在zip文件中处于同一级别。
现在我必须将配置文件夹移出一个级别,src文件夹仍然存在。
/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处于同一级别。
我在这里缺少什么?
答案 0 :(得分:3)
为了在压缩存档中构建所需的层次结构,您必须传递到表示此类层次结构的zip相对路径。在您的情况下,./src
和../config
显示为不同级别,这会反映在生成的存档中。要使config
和src
出现在同一级别,您必须在脚本中添加额外的cd
:
cd /myproject
zip -9 -r -q /myfile.zip ./src/*
cd /
zip -9 -q /myfile.zip ./config/1.xml