У меня есть runtime
необходимо заменить переменные среды в текстовом файле. Скажем, файл выглядит следующим образом:Как интерполировать строки, представляющие переменные окружения
version: v1
kind: Pod
metadata:
- name: $PODNAME
Мой Баш скрипт вытаскивает все окружение вары, здесь $PODNAME
.
Как только у меня есть дескриптор, в котором строковые символы являются переменными окружения, я бы хотел заменить их значением среды var из хоста, на котором запущен скрипт. Поэтому выше, я бы заменил строку $PODNAME
значением env
$PODNAME
.
С тем, что у меня есть, я могу перечислить все env
vars. Но я не могу заставить эту замену сделать. Для моего игрушечного примера, я хотел бы повторить из как Строковых и значения, которое должно заменить:
#!/bin/bash
IFS=', ' read -a array <<< $(grep -F -- "$" file.yaml | sed -e 's/ value: //' | tr '\n' ' ')
for element in "${array[@]}"
do
echo "$element"
done
Я попытался вещи, как это:
echo "$element ${$element}"
Я сделал некоторое но не может найти StackOverflow
вопрос, который уже охватывает этот странный usecase
.
См. Http://mywiki.wooledge.org/BashFAQ/006 для некоторых методов такого рода вещей. –