shell中变量的间接引用
在编写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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。