Оценивать переменную env динамически - PullRequest
0 голосов
/ 18 марта 2019

Как динамически оценивать переменные env?

Я копирую содержимое файла и заменяю значения в нем.Я придумал это сейчас:

awk -v FS="=" -v OFS="=" '$2="$"$1' source-file.txt > output-file.txt

Предположим, у нас есть две переменные env: key1 = 'toto1' и key2 = 'toto2'

Результат:

source-file.txt  ----------------->  output-file.txt   ----------> expected output-file.txt           
key1=secret                          key1=$key1                    key1=toto1
key2=secret                          key2=$key2                    key2=toto2

Как я могу заставить его оценить значение и напечатать key1 = toto1, а не key1 = $ key1?

1 Ответ

2 голосов
/ 18 марта 2019
awk -F= '{printf "%s=%s\n",$1,ENVIRON[$1]}' <source_file.txt >output_file.txt

Предполагается, что переменные (ключ1 и т. Д.), Как вы указали, действительно переменные окружения (т.е. экспортированные переменные), а не только переменные оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...