例如,
使用以下内容创建bash tmp.sh
脚本,
export tmp=abc
read _test
echo "$_test"
执行bash tmp.sh
输入'$ tmp / def'。
预期结果:“ abc / def”
实际结果:“ $ tmp / def”
答案 0 :(得分:1)
检查此
eval "echo $_test"
或
bash -c "echo $_test"
编辑后期(bash -c
)使用的子外壳比eval
答案 1 :(得分:0)
您可以使用envsubst
命令替换如下环境变量:
echo "$_test" | envsubst
或者,因为它在bash中:
envsubst <<<"$_test"
这比eval
或bash -c
安全得多,因为与替换$var
或{{1}的实例相比,它不会做任何其他的操作。 }和相应的变量值。