遇到一个对于知道如何处理的人来说可能很简单的问题。我正在编写一个.sh脚本,它在一个文件中读取变量名。我正在尝试使用下面的文件,其中变量的值用于文件中的名称。
My attempt .sh Script:
HELLOVAR = "hello"
cat infilename.json > outfilename.json
然后尝试使用outfilename。
文件示例:
I would like this to be ${HELLOVAR}.
文件输出:
I would like this to be hello.
你可能只是想:
HELLOVAR=hello envsubst < infilename.json > outfilename.json
envsubst
读取其输入流寻找简单的变量表达式(例如,它将替换$FOO
和${FOO}
,但不会对${FOO-bar}
等表达式执行预期的替换),并根据环境中的当前设置对它们进行扩展。HELLOVAR=hello envsubst
在其环境中调用envsubst
,并将HELLOVAR设置为hello
。