创建变量名称与变量
问题描述:
我有这样的事情:创建变量名称与变量
$CORSAIR_TYPE="good"
$CASE="CORSAIR"
...
$local temp_type=${CASE}_TYPE
echo ${!temp_type}
这使我的变量CORSAIR_TYPE
的价值,这是“好”。有没有办法做到这一点,而不创建temp_type
变量?我将用什么替换echo ${!temp_type}
?
感谢
答
对于任何人碰到这个岗位磕磕绊绊,这是一种方式,我发现这样做的:
echo $(eval echo $`echo ${CASE}_TYPE`)
+1
所有你需要的是'eval'echo'$'$ {CASE}'_ TYPE“'' – William 2013-03-26 13:53:37
是,'EVAL回声 '$' “$ {案例} _Type”'或类似的东西。 – 2013-03-26 12:40:09
对于'$ {!foo}','foo'必须是一个变量。所以,不,至少在你提供的代码中,并不是真的。此外,我不会使用任何'eval'解决方案来避免创建一个临时变量。 – jedwards 2013-03-26 15:09:20