我有这个 make 文件来检查文件是否存在于文件夹中。如果不是,它应该使用 curl 命令从 JFrog artifactory 下载该文件。如果文件存在那么它不应该做任何事情。
si_file := ms_auix
extract_path := C:\si
si_url := https://artifact.com/artifactory/aksi/SI/$(si_file).zip
.PHONY: download-si
download-si:
@echo "Checking for $(si_file) in $(extract_path)..."
@if not exist "$(extract_path)\$(si_file)" (
echo "Downloading $(si_file) from Artifactory...";
curl -u te14:cmVXluNkVJ -O "$(si_url)";
) else (
echo "$(si_file) already exists in $(extract_path).";
)
当我运行这段代码时,包是从 artifactory 下载的,但代码仍然运行 else 循环,我在终端中得到了这个
) else (
process_begin: CreateProcess(NULL, ) else (, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [Makefile:11: download-si] Error 2
if 循环工作正常,但为什么它无论如何都执行 else 循环。有人可以在这里指导我代码有什么问题吗?