환경 변수 값을 기반으로 변수 설정

환경 변수 값을 기반으로 변수 설정

메이크파일에서 이라는 환경 변수를 기반으로 변수를 설정해야 합니다 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

관련 정보