메이크파일에서 이라는 환경 변수를 기반으로 변수를 설정해야 합니다 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
로 설정되고, 그렇지 않으면 로 설정된다는 것입니다.production
MY_SERVER_ENV
prod
branch
deploy
보시다시피 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