Makefile:为什么它似乎在 shell 变量周围添加引号?

问题描述 投票:0回答:1

我的 bash shell 环境设置如下:

AWS_REGION="us-east-1"

当我在 bash shell 中运行以下命令时,一切正常:

aws lambda update-function-code \
        --function-name ${LAMBDA_FUNCTION_NAME} \
        --zip-file fileb://mylambda.zip

但是,当我尝试在 Makefile 中运行完全相同的命令时,如下所示:

deploy: .env mylambda.zip
    aws lambda update-function-code \
        --function-name ${LAMBDA_FUNCTION_NAME} \
        --zip-file fileb://mylambda.zip

...我收到以下错误:

Provided region_name '"us-east-1"' doesn't match a supported format.
make: *** [deploy] Error 255

我的猜测是 Makefile 运行在读取带有额外引号的环境变量的环境中。你知道这里发生了什么以及如何在 Makefile 中解决吗?

makefile
1个回答
0
投票

我的 Makefile 中也有一行

include .env
,其中变量被定义为
export AWS_REGION="us-east-1"
。显然 Make 不喜欢用引号定义的变量。将其更改为
export AWS_REGION=us-east-1
解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.