【shell】sh实现 在变量名中引用变量


变量名中引用变量的值

name="zhangsan lisi wangwu"

zhangsan_age="109"
lisi_age="98"
wangwu_age="74"

for i in ${name};do
        echo "name=${i}"
        age=${i}_age
        echo "${i}的年龄:${!age}"
done

  运行结果

多层引用变量值

name="zhangsan lisi wangwu"

zhangsan_age="109"
lisi_age="98"
wangwu_age="74"

health_109="衰老"
health_98="正常"
health_74="虚弱"



for i in ${name};do
        echo "name=${i}"
        age=${i}_age
        echo "${i}的年龄:${!age}"
        health=health_${!age}
        echo "${i}的身体状况:${!health}"
done

  运行结果