shell 脚本的字符串中包含的变量要怎么才能被解析

2022-05-25 17:49:38 +08:00
 justRua
有个配置文件 file.properties ,里面有个配置项:
opts=-Xmx1024m -Xms1024m -Djava.io.tmpdir=${TEMP_DIR}

现在有个脚本 a.sh ,会读取这个 file.properties 获取到 opts 后面的内容赋值到变量 testParam 中。
testParam 实际取到的值为-Xmx1024m -Xms1024m -Djava.io.tmpdir=${TEMP_DIR}

现在问题是${TEMP_DIR} 在脚本中是有定义的,TEMP_DIR="./tmp",
期望是得到 testParam=-Xmx1024m -Xms1024m -Djava.io.tmpdir=./tmp

请问各位彦祖这个要怎么实现~
830 次点击
所在节点    问与答
3 条回复
AoEiuV020CN
2022-05-25 17:58:35 +08:00
盲猜你需要 envsubst
privil
2022-05-25 18:04:08 +08:00
eval 吧
justRua
2022-05-25 18:53:16 +08:00
@privil 谢谢啦,试了下确实可以,之前有想过用 eval ,但搜了下网上的例子用不了
换了个姿势试了试可以了,eval_opts=`eval echo "$opts"`
这样写$opts 中的${TEMP_DIR}会被解析到,此贴完结。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX