系统是 macOS 。 vscode 里写 Makefile 脚本: include .env
clean: @rm -Rf ./data/mysql @rm -Rf $(MYSQL_DUMPS_DIR)/ @rm -Rf ./web @rm -Rf ./log @rm -Rf ./etc/ssl/
.env 文件: MYSQL_DUMPS_DIR=data/backup #数据库备份文件目录
结果,执行 make clean 后控制台提示: rm: /Applications/Utilities/Adobe Creative Cloud Experience/CCXProcess.app/Contents/Resources/panels/com.adobe.ccx.start-2.2.1/Contents/js/locales/eo.bundle.js: Permission denied
我才知道完蛋了。。。赶紧 Ctrl+C ,软件没了大半。。。 正在运行的 vscode 跟浏览器都给我删完了,真神奇。。。
我又写了个 printf 测试 aaa: @printf $(MYSQL_DUMPS_DIR)/*
执行结果一点问题没有: dt27@DT27-RMBP oa % make aaa ./data/backup%
我不理解。。。 .env 里的变量删掉执行结果: dt27@DT27-RMBP oa % make aaa /Applications%
最后发现是 MYSQL_DUMPS_DIR=data/backup #数据库备份文件目录 备注前的空格惹的祸。。。 printf "$(MYSQL_DUMPS_DIR)/*"
前不带空格
dt27@DT27-RMBP oa % make aaa data/backup/*% ```
前带空格
dt27@DT27-RMBP oa % make aaa data/backup /*%