我已声明一个变量IS_abc=false
,根据某些条件我将值更改为IS_abc=true
IS_abc=false
declare -a my_arr
my_arr = ('abc' 'pqr' 'xyz')
....
.... // some operation
IS_abc=true
for i in "${my_arr[@]}"
do
//here i want to access value of $IS_abc as true
//how to do this
done
我尝试使用$IS_'$i'
进行访问,但由于无效替换
告诉我,我在这里做错了什么?
答案 0 :(得分:4)
您可以使用间接无效参考:
my_arr=('abc' 'pqr' 'xyz')
IS_abc=true
var="IS_${my_arr[0]}"
echo "${!var}"
<强>输出:强>
true
答案 1 :(得分:1)
我这样做:
value=`eval echo \\${IS_${i}}`
可能有更好的方法,但这应该有用。