Shell脚本将文件中引用的变量写入文件

irtuqstp  于 2022-12-13  发布在  Shell
关注(0)|答案(1)|浏览(238)

遇到了一个问题,对于知道如何操作的人来说,这个问题可能很简单。我正在编写一个.sh脚本,该脚本读取一个包含变量名的文件。我正在尝试使用下面的文件,并将变量的值替换为文件中的变量名。

我尝试的.sh脚本:

HELLOVAR = "hello"
cat infilename.json > outfilename.json

然后,我尝试使用outfilename.json,但它与原始infile相比没有变化。

示例中的文件:

I would like this to be ${HELLOVAR}.

需要文件输出:

I would like this to be hello.
jljoyd4f

jljoyd4f1#

您可能只想:

HELLOVAR=hello envsubst < infilename.json > outfilename.json

envsubst读取其输入流,查找简单的变量表达式(例如,它将替换$FOO${FOO},但不会对${FOO-bar}等表达式执行预期的替换),并根据环境中的当前设置扩展它们。HELLOVAR=hello envsubst调用envsubst,其中HELLOVAR在其环境中设置为hello

相关问题