BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 



请教循环赋值问题

首页 » 论坛 » Shell »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
itryhangxh   帅哥
骑士



CU编号: 286148
注册:2005-6-30
最后登录: 2008-08-31
帖子:58
精华:0

可用积分:67 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2007-10-5 11:56 

for i in 1 2 3
do
     a$i=1
     echo "${a$i}"
done

我想得到的结果是将a1,a2,a3都赋值为1,然后再显示出来,以上的写法有问题的,请教如何更正?



您对本贴的看法:鲜花[0] 臭蛋[0]
springwind426   帅哥 (春之风)
大天使




CU编号: 110253
注册:2003-11-7
最后登录: 2009-07-04
帖子:1933
精华:1

可用积分:2347 (小富即安)
信誉积分:100
专家积分:139 (本版:38)
空间积分:0
推广积分:0

状态:...在线...

[个人空间] [短信] [博客]


2楼 发表于 2007-10-5 12:03 



for i in 1 2 3
do
  eval "a${i}=1"
  eval "echo \$a${i}"
done




您对本贴的看法:鲜花[0] 臭蛋[0]
itryhangxh   帅哥
骑士



CU编号: 286148
注册:2005-6-30
最后登录: 2008-08-31
帖子:58
精华:0

可用积分:67 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2007-10-5 12:12 

非常的感谢啊,eval没用过,呵呵



您对本贴的看法:鲜花[0] 臭蛋[0]
honckly
精灵使
\ 壆樻峟嶷



CU奥运火炬传递手2008
CU编号: 503260
注册:2006-12-10
最后登录: 2009-07-03
帖子:3351
精华:0

可用积分:8627 (腰缠万贯)
信誉积分:100
专家积分:26 (本版:0)
空间积分:0
推广积分:2

状态:...保密...

[个人空间] [短信] [博客]


4楼 发表于 2007-10-7 21:59 

能否解释下eval 呢?
:mrgreen:



您对本贴的看法:鲜花[0] 臭蛋[0]
寂寞烈火   帅哥
老法王


CU奥运火炬传递手2008
荣誉会员  
CU编号: 187152
注册:2004-10-1
最后登录: 2009-07-04
帖子:24674
精华:5

可用积分:14610 (大富大贵)
信誉积分:110
专家积分:171 (本版:102)
空间积分:1425
推广积分:0

来自:北京海淀
状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2007-10-7 22:51 



QUOTE:
原帖由 honckly 于 2007-10-7 21:59 发表
能否解释下eval 呢?
:mrgreen:

简单的说就是把字串当命令来执行



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

孰能浊以静之徐清?
孰能安以动之徐生?
dearvoid
精灵王




CU编号: 53218
注册:2003-4-21
最后登录: 2009-02-22
帖子:311
精华:0

可用积分:361 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


6楼 发表于 2007-10-8 09:10 

eval 将其参数作为当前 shell 的 input 交给 shell 去执行. 俺见过的大多数 (全部?) scripting languages 都支持 eval 命令/函数, 这也是 script 区别于像 c 这种高级语言的主要特点之一, script 可以动态的生成并执行指令

一家之言, just FYI :-)



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

◆ 欢迎访问 Linux 伊甸园 论坛
rdcwayx
光明使者




CU编号: 458302
注册:2006-8-25
最后登录: 2009-07-03
帖子:745
精华:0

可用积分:1234 (家境小康)
信誉积分:105
专家积分:10 (本版:10)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2007-10-9 08:20 

不用eval:

for i in 1 2 3
do
  let a$i=1
  echo "$a${i}"
done



您对本贴的看法:鲜花[0] 臭蛋[0]
dearvoid
精灵王




CU编号: 53218
注册:2003-4-21
最后登录: 2009-02-22
帖子:311
精华:0

可用积分:361 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


8楼 发表于 2007-10-9 09:20 



QUOTE:
原帖由 rdcwayx 于 2007-10-9 08:20 发表
不用eval:

for i in 1 2 3
do
  let a$i=1
  echo "$a${i}"
done

嗯, 不错, 不过 let 只能用于 arithmetic expression 的吧



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

◆ 欢迎访问 Linux 伊甸园 论坛

首页 » 论坛 » Shell »


 


Copyright © 2001-2009 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.055337 second(s), 4 queries , Gzip enabled