如何替换文件中的变量字符串?

如何替换文件中的变量字符串?

我有一个包含变量的文件,如下所示,但是我想使用该文件作为模板并将变量替换为其实际值。

有没有办法读取文件内容并评估变量?

#my script
template=$(cat script.template)
MY_VAR="my_data"
echo $template

上面的脚本应该读取下面的文件,并替换MY_VAR为字符串my_data

# script.template
export MY_VAR=${MY_VAR}

有没有办法用 bash 来完成这个任务?

# expected output
export MY_VAR=my data

答案1

当然,使用 envsubst

它是 GNU get text 的一部分

envsubst < source > destination

相关内容