在以下函数中main_script
,变量DEFAULT_BACKUP_DIR
未按预期工作,因为/home/user/BACKUP
未为其分配值,我不知道为什么,并且当我尝试在 if 语句中更新它时,它也不会更新
注 1:此函数位于我用来运行 Bach 脚本文件的 Makefile 中
注2:该变量DEFAULT_BACKUP_DIR
在此函数中首次声明,并且仅在该函数范围内使用。
define main_script
@ $(call src_dir_check,$1)
DEFAULT_BACKUP_DIR=/home/user/BACKUP
if [ -d $2 ]
then
echo "Backup directory -$2- do exist"
DEFAULT_BACKUP_DIR=$2
else
echo "ERROR! Backup directory -$2- does not exist!"
echo "Switched to default directory -$(DEFAULT_BACKUP_DIR)-"
fi
$(call run_script,$1,$(DEFAULT_BACKUP_DIR),$3,$4)
endef
我是这样称呼它的
.PHONY: run
run: display
@ $(call main_script,$(SRC_DIR),$(BACKUP_DIR),$(TIME),$(MAX))
我在终端中输入以下内容来运行 Makefile
make run SRC_DIR=somedir BACKUP_DIR=somedir TIME=1 MAX=5
提前致谢...