環境変数の値に基づいて変数を設定する

環境変数の値に基づいて変数を設定する

メイクファイルの環境変数に基づいて変数を設定する必要がありますMY_SERVER_ENV

私はこれを試しました:

gulp:=./node_modules/.bin/gulp
ifeq ($(MY_SERVER_ENV), 'prod')
    branch:=production
else
    branch:=deploy
endif


checkvariable:
    @echo $$branch

私が得た結果は次のとおりです。

$ MY_SERVER_ENV = prodは変数検証を有効にします。

$

アイデアは、環境変数がと等しい場合は変数がにbranch設定され、それ以外の場合に設定されることです。productionMY_SERVER_ENVprodbranchdeploy

ご覧のとおり、echo $$branch何も表示されません

ベストアンサー1

branchでアクセス$(branch)して使用する必要があります。

ifeq ($(MY_SERVER_ENV), 'prod')

値は$MY_SERVER_ENVリテラル文字列(一重引用符を含む)と'prod'比較されます。

gulp:=./node_modules/.bin/gulp

ifeq "$(MY_SERVER_ENV)" "prod"
    branch:=production
else
    branch:=deploy
endif

help:
        @echo $(branch)

これはifeq次の形式を取ることができます。

ifeq (arg1, arg2)
ifeq 'arg1' 'arg2'
ifeq "arg1" "arg2"
ifeq "arg1" 'arg2'
ifeq 'arg1' "arg2"

引用:https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_7.html

おすすめ記事