用for循环语句打印出变量n1 n2 n3的值
#!/bin/sh
n1="aaa"
n2="bbb"
n3="ccc"
for i in `seq 3`;do
echo $n$i
done
例子程序中$n$i有语法错误,请问如何修改?
#解决方式之一:
n1="aaa"
n2="bbb"
n3="ccc"
for i in `seq 3`;do
eval echo \$n$i
done
#解决方式之二:
#!/bin/bash
n[1]="aaa"
n[2]="bbb"
n[3]="ccc"
for i in `seq 3`;do
echo ${n[$i]}
done
变量嵌套
一、场景
变量名中存在变量:Infor{i} - 其中i为变量
二、方案
Infor1="we are family"
Infor2="are you ok"
i=1
while [ ${i} -le 2 ]
do
info=Infor${i}
eval temp=$(echo \$$info)
echo $temp
i=`expr $i + 1`
done
三、分析
eval命令的作用就是:先进行变量替换,再执行shell命令
参考链接:http://zhaotao110.blog.sohu.com/241705528.html
参考链接:http://bbs.csdn.net/topics/270078417