【发布时间】:2023-03-30 03:19:01
【问题描述】:
我需要在我的 Makefile 中创建一个查找表/字典/映射来查找键值信息。
我一直在尝试使用 ifeq 语句来做同样的事情,但我的语句似乎失败了:
# this gets the account id from the current user's ARN, you must have the AWS CLI and jq installed
AWS_ACCOUNT_ID:=$(shell aws iam get-user | jq -r '.User.Arn' | awk -F ':' '{print $$5;}')
# define a friendly account name for output
ifeq ($(AWS_ACCOUNT_ID), 123456)
AWS_ACCOUNT_FRIENDLY:=staging
endif
ifeq ($(AWS_ACCOUNT_ID), 789012)
AWS_ACCOUNT_FRIENDLY:=preprod
endif
ifeq ($(AWS_ACCOUNT_ID), 345678)
AWS_ACCOUNT_FRIENDLY:=production
endif
它似乎只适用于第一个值123456,但不适用于其他值。
有没有办法在 Make 中定义字典/映射,以便通过帐户 ID 的键简单地查找帐户友好名称?
【问题讨论】:
-
我对您的代码进行了剪切和粘贴,并对 AWS_ACCOUNT_ID 进行了硬编码,它似乎可以正常工作。可能你的 shell 命令没有返回正确的值。