Ich muss eine Nachschlagetabelle/ein Verzeichnis/eine Karte in meinem Makefile erstellen, um Schlüsselwertinformationen nachzuschlagen.Wörterbücher/Karten/Nachschlagetabellen in Makefiles
Ich habe versucht, ifeq
Aussagen zu verwenden, um die gleiche Sache, aber meine Aussagen zu tun scheinen zum Scheitern verurteilt:
# 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
Es scheint nur 123456
mit dem ersten Wert zu arbeiten, aber nicht mit anderen.
Gibt es eine Möglichkeit, ein Wörterbuch/eine Karte in Make zu definieren, um einfach den benutzerfreundlichen Namen des Kontos mit dem Schlüssel der Konto-ID abzurufen?
ich ein Ausschneiden und Einfügen des Codes haben, und hart codiert AWS_ACCOUNT_ID, und es scheint zu funktionieren. Wahrscheinlich gibt Ihr Shell-Befehl nicht den korrekten Wert zurück. – John