我的容器内有 python 脚本,需要两个参数才能运行。 我尝试使用 Makefile 运行脚本。
为此我做了 make 命令:
.PHONY: deploy
deploy:
@docker exec -it ecosystem python3 deployment/deploy.py $(filter-out $@,$(MAKECMDGOALS))
当我运行
make deploy server project
时,脚本可以工作,但是当它完成时,我收到以下错误:make: *** No rule to make target 'server'. Stop.
make的命令行是保留给make使用的。您不能将其用于您自己的其他目的。命令行上的每个单词都必须是选项或选项参数、变量赋值或要构建的目标。
当您输入
make deploy server project
时,您是在告诉 make 构建三个目标:deploy
、server
和 project
。
你无法改变这一点。 Make 不是脚本解释器。
你可以这样做:
.PHONY: deploy
DEPLOY_ARGS =
deploy:
@docker exec -it ecosystem python3 deployment/deploy.py $(DEPLOY_ARGS)
然后运行:
make deploy DEPLOY_ARGS='server project'