이름이 다른 변수를 동적으로 평가해야 하는 변수를 평가하고 싶습니다. 즉, var는 , 또는 일 ENVIRONMENT
수 있으므로 3개의 URL이 있습니다.prod
stg
test
URL_PROD=https://myproduction.com
URL_STG=https://mystaging.com
URL_TEST=https://mytest.com
그래서 값을 검색하고 싶습니다 URL_STG
.
다음은 작동하지 않습니다
echo $"URL_${ENVIRONMENT^^}"
답변1
Nearest bash
또는 를 사용하여 ksh93
URL을 보관할 연관 배열을 만듭니다.
URL=( [prod]=https://myproduction.com
[stg]=https://mystaging.com
[test]=https://mytest.com )
url_type=test
echo "${URL[$url_type]}"
그러면 테스트 URL이 출력됩니다.
답변2
@Kusalananda의 연관 배열 관련 답변 외에도 다음과 같은 내용도 생각해 냈습니다.
ENDPOINT=URL_${ENVIRONMENT^^}
MY_URL="${!ENDPOINT}"
답변3
나에게 도움이 된 것은 다음과 같습니다.
eval echo \$URL_${ENVIRONMENT^^}