我正在尝试将一个名为"project"的目录压缩到名为"BARBIER_MAM.zip"的.zip文件中。但是,在解压缩.zip文件时,显示包含的所有文件,我必须手动将它们放回目录中。 这是我目前的做法。在"项目"目录中,我有一个带有"存档"目标的制作文件:
archive: clean
zip -r BARBIER_MAM.zip .
我也试过:
archive: clean
cd ..
zip -r BARBIER_MAM.zip project
但是我得到了一个错误:
zip warning: name not matched: project
如果你问,是的,它必须在必须压缩的目录中包含的 makefile 中完成。
从制作文档(强调我的(:
当需要执行配方以更新目标时,通过为配方的每一行调用新的子外壳来执行它们,除非 .ONESHELL 特殊目标生效(请参阅使用一个外壳((在实践中,make 可能会采用不影响结果的快捷方式。
请注意:这意味着设置 shell 变量和调用 shell 命令(如 cd(为每个进程设置本地上下文不会影响配方中的以下行。如果要使用 cd 影响下一条语句,请将这两个语句放在一个配方行中。
因此,在第二个示例中,将其更改为:
archive: clean
cd .. && zip -r BARBIER_MAM.zip project