【编程】用for循环语句打印嵌套变量的值


用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值