如何从另一个环境中访问环境变量?我的shell中有以下内容
#!/usr/bin/env bash
set -x
export A_version=1.0.0
component=A
echo ${${component}_version}}
运行后的bash脚本给我
temp.sh: line 9: ${${component}_version}}: bad substitution
答案 0 :(得分:1)
您可以使用eval
执行此操作。以下是打印1.0.0
的脚本的工作版本:
export A_version=1.0.0
component=A
eval "echo \$${component}_version"
有关详细信息,请参阅此页:
http://tldp.org/LDP/abs/html/ivr.html
更新:在Bash中执行相同操作的更安全的方法是:
export A_version=1.0.0
component=A
var=${component}_version; echo "${!var}"
请注意,您必须使用bash
运行此脚本,而不是sh
。