如何使用bash在Debian中压缩文件,并在解压缩时弹出单个目录

问题描述 投票:0回答:1

我正在尝试将名为“ project”的目录压缩为名为“ BARBIER_MAM.zip”的.zip文件。但是,解压缩.zip文件时,所有包含的文件都会显示出来,我必须手动将它们放回目录中。这是我目前的工作方式。在“项目”目录中,我有一个带有“归档”目标的makefile:

archive: clean
    zip -r BARBIER_MAM.zip .

我也尝试过:

archive: clean
    cd ..
    zip -r BARBIER_MAM.zip project

但是我遇到了一个错误:

zip warning: name not matched: project

如果您要询问,是的,它必须在必须压缩的目录中包含的makefile中完成。

bash makefile zip
1个回答
0
投票

make documentation(强调我的位置:)>

是时候执行配方来更新目标了,它们通过调用配方的每行一个新的子shell

来执行,除非.ONESHELL特殊目标生效(请参阅使用一个Shell)” (实际上,make可以采用不影响结果的快捷方式。)

请注意:这意味着设置shell变量并调用shell命令(如cd)来设置每个进程的本地上下文不会影响配方中的以下行

。如果要使用cd影响下一条语句,请将两个语句放在一个配方行中。

因此,在第二个示例中,将其更改为:

archive: clean
    cd .. && zip -r BARBIER_MAM.zip project
© www.soinside.com 2019 - 2024. All rights reserved.