此代码无效:
$ cat Makefile
dev:
AWS_PROFILE=foobar-$@ echo $$AWS_PROFILE
demo:
AWS_PROFILE=foobar-$@ echo $$AWS_PROFILE
基于我的目标,我希望为目标中的命令正确设置AWS_PROFILE。如何使用GNU Make 4.2.1
实现这一目标?
答案 0 :(得分:0)
在echo
命令之前添加分号:
dev:
AWS_PROFILE=foobar-$@; echo $$AWS_PROFILE
配方的每一行都发送到另一个外壳。因此,如果要传播外壳变量,则必须在同一外壳列表的同一行上定义和使用它们。您还可以使用&&
或||
来加入各个shell命令。
请注意,为了获得更好的可读性,您可以使用换行符:
dev:
AWS_PROFILE=foobar-$@; \
echo $$AWS_PROFILE