如何动态评估环境变量?
我正在复制文件的内容并替换其中的值。 我现在想出了这个:
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?
答案 0 :(得分:2)
awk -F= '{printf "%s=%s\n",$1,ENVIRON[$1]}' <source_file.txt >output_file.txt
这假定变量(key1等)是真正环境变量(即导出的变量),正如您所说的,而不仅仅是shell变量。