遇到了一个问题,对于知道如何操作的人来说,这个问题可能很简单。我正在编写一个.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.
1条答案
按热度按时间jljoyd4f1#
您可能只想:
envsubst
读取其输入流,查找简单的变量表达式(例如,它将替换$FOO
和${FOO}
,但不会对${FOO-bar}
等表达式执行预期的替换),并根据环境中的当前设置扩展它们。HELLOVAR=hello envsubst
调用envsubst
,其中HELLOVAR在其环境中设置为hello
。