
名前の異なる変数を動的に評価する必要がある変数を評価したいと思います。つまり、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
Nearestbash
またはを使用して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^^}