Shell
變數擴展中的變數
我想評估一個變數,其名稱需要動態評估另一個變數,即 var
ENVIRONMENT
可以是prod
、stg
或test
,所以我有 3 個 url:URL_PROD=https://myproduction.com URL_STG=https://mystaging.com URL_TEST=https://mytest.com
所以我想檢索說
URL_STG
.以下不起作用
echo $"URL_${ENVIRONMENT^^}"
除了@Kusalananda 提出的關聯數組的相關答案,我還想出了這個:
ENDPOINT=URL_${ENVIRONMENT^^} MY_URL="${!ENDPOINT}"
使用最近的
bash
orksh93
,創建一個關聯數組來保存 URL:URL=( [prod]=https://myproduction.com [stg]=https://mystaging.com [test]=https://mytest.com ) url_type=test echo "${URL[$url_type]}"
這將輸出測試 URL。