Chinaunix

标题: 变量中的变量 问题又来了 [打印本页]

作者: fllintel    时间: 2011-12-22 11:14
标题: 变量中的变量 问题又来了
本帖最后由 fllintel 于 2011-12-22 15:52 编辑
  1. TEST1=123
  2. TEST2=117
  3. TEST3=110
  4. TEST4=120
  5. TEST5=111

  6. for((i=1;i<=5;i++))
  7. do
  8.       echo  "
  9.       <ProcName=\"abc\" FunID=\"${TEST${i}}\" .......
  10.         ProcName=\"xyz\" FunID=\"${TEST${i}}\" .......
  11.         ProcName=\"suv\" FunID=\"${TEST${i}}\" .......

  12.       />
  13. "       >  myfile
  14. done
复制代码
我怎么样让FunID 得到111,120 等值呢  主要是echo 出来要很多行 而且里面有小于符号 等于符号 "-" 等这种符号. 其他的都要保持原有的. 就希望让变量中的值能拿到.
作者: yinyuemi    时间: 2011-12-22 11:44
脚本里可以用 ${TEST${!i}}

或eval echo '$'TEST$i
作者: fllintel    时间: 2011-12-22 11:47
2楼 同样谢谢你
作者: fllintel    时间: 2011-12-22 15:55
有人么?

作者: cjaizss    时间: 2011-12-22 16:55
eval一下不就行了吗?
作者: fllintel    时间: 2011-12-22 17:14
怎么搞呀...
作者: fllintel    时间: 2011-12-22 17:15
还有 一点!!
  1. TEST1=123
  2. TEST2=117
  3. TEST3=110
  4. TEST4=120
  5. TEST5=111

  6. 这里 不能加冒号 就是不能变成"110" ....

  7. 但是我要在echo 里面 要存在冒号
复制代码

作者: yangyang1581    时间: 2011-12-22 17:21
fllintel 发表于 2011-12-22 11:14
我怎么样让FunID 得到111,120 等值呢  主要是echo 出来要很多行 而且里面有小于符号 等于符号 "-" 等这种符 ...

tmp="TEST${i}"
echo ${!tmp}
作者: cjaizss    时间: 2011-12-22 19:23
fllintel 发表于 2011-12-22 17:14
怎么搞呀...

a=b
b=c
eval echo \$$a
作者: cjaizss    时间: 2011-12-22 19:25
a=b
b=c
c=d
eval eval echo \\$\$$a
作者: zooyo    时间: 2011-12-22 19:47
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2