您的位置:首页 > 运维架构 > Shell

shell中变量的间接引用

2014-11-17 15:54 155 查看
在编写shell脚本的过程中相信大家都会遇到这样的场景:
#!/bin/sh
#
log_1="xxxxxx"
log_2="yyyyyy"
log_3="zzzzzz"
for num in {1..3}
do
log=log_$num
#此时你想把log_1,log_2,log_3,这三个变量的变量值依次的for循环中引用,但是如果你直接echo
#出的变量,则只会输出你想引用的变量的变量名,而不是该变量的变量值,这里就需要用到shell
#变量的间接引用了,大家可以在脚本中比较一下输出:
echo $log            #输出的为变量的变量名
echo ${$log}        #报错,这里报错之后就会直接退出了,主要是给大家演示一下,大家测试下面这几个echo语句的时候要提前把这条语句删除或者注释掉。
echo ${!log}        #成功
eval echo \$$log    #成功
done


本文出自 “红楼遗梦” 博客,请务必保留此出处http://leidongya.blog.51cto.com/7375845/1577520
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: