我正在撰寫一個腳本,通過 JQ 我正在獲取環境變數,并且我需要它們以 KV 對的形式用于其他型別的檔案。目前,我在 Bash 陣列中有如下元素
DD_TRACE_CLI_ENABLED:true
PRODUCT:buy_box
TRACE_ID:$NOMAD_ALLOC_ID
現在,當我列印時,我需要這樣:
- name: DD_TRACE_CLI_ENABLED
value: true
- name: PRODUCT
value: buy_box
我當前的代碼
if [ ! -z "$env_params" -a "$env_params" != " " ]; then
env_params_as_array=(${env_params//,/ })
for each in "${env_params_as_array[@]}"
do
echo $each
echo -e "${myCustomIndentTab}- $each" >> values-$1.yaml
done
fi
我怎樣才能做到這一點?謝謝你。
uj5u.com熱心網友回復:
bash 陣列:
env_params_as_array=(
DD_TRACE_CLI_ENABLED:true
PRODUCT:buy_box
TRACE_ID:$NOMAD_ALLOC_ID
)
以您想要的方式列印它:
for p in "${env_params_as_array[@]}"
do
IFS=':' read -r k v <<< "$p"
printf -- '- name: %s\n value: %s\n' "$k" "$v"
done |
sed "s/^/$myCustomIndentTab/" > "values-$1.yaml"
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/475840.html
下一篇:如何正確使用xargs與cp
