忘记密码   免费注册 查看新帖 | 论坛精华区
ChinaUnix.net
  平台论坛 博客 微博 读书 人才 精华 文库 自测 | 频道操作系统 开发 数据库 存储 服务器 网络 IT新闻 Linux 下载 Power用户组
最近访问板块 发新帖
查看: 3061 | 回复: 7

请教循环赋值问题 [复制链接]
更多

帖子
59
主题
29
精华
0
可用积分
68
专家积分
0
在线时间
2 小时
注册时间
2005-06-30
最后登录
2009-07-16
论坛徽章:
0
发表于 2007-10-05 11:56:54 |显示全部楼层
for i in 1 2 3
do
     a$i=1
     echo "${a$i}"
done

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

Rank: 3Rank: 3

帖子
2656
主题
4
精华
1
可用积分
3081
专家积分
64
在线时间
997 小时
注册时间
2003-11-07
最后登录
2012-01-13
论坛徽章:
0
发表于 2007-10-05 12:03:55 |显示全部楼层
  1. for i in 1 2 3
  2. do
  3.   eval "a${i}=1"
  4.   eval "echo \$a${i}"
  5. done
复制代码

帖子
59
主题
29
精华
0
可用积分
68
专家积分
0
在线时间
2 小时
注册时间
2005-06-30
最后登录
2009-07-16
论坛徽章:
0
发表于 2007-10-05 12:12:57 |显示全部楼层
非常的感谢啊,eval没用过,呵呵
\ 壆樻峟嶷

Rank: 5Rank: 5

帖子
3735
主题
19
精华
0
可用积分
5883
专家积分
26
在线时间
1049 小时
注册时间
2006-12-10
最后登录
2011-12-27
论坛徽章:
0
发表于 2007-10-07 21:59:54 |显示全部楼层
能否解释下eval 呢?

Rank: 2

帖子
29831
主题
900
精华
22
可用积分
1063
专家积分
143
在线时间
1586 小时
注册时间
2004-10-01
最后登录
2012-01-13
论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2007-10-07 22:51:08 |显示全部楼层
原帖由 honckly 于 2007-10-7 21:59 发表
能否解释下eval 呢?

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

Rank: 1

帖子
316
主题
23
精华
0
可用积分
364
专家积分
0
在线时间
15 小时
注册时间
2003-04-21
最后登录
2010-08-06
论坛徽章:
0
发表于 2007-10-08 09:10:47 |显示全部楼层
eval 将其参数作为当前 shell 的 input 交给 shell 去执行. 俺见过的大多数 (全部?) scripting languages 都支持 eval 命令/函数, 这也是 script 区别于像 c 这种高级语言的主要特点之一, script 可以动态的生成并执行指令

一家之言, just FYI
◆ 欢迎访问 Linux 伊甸园 论坛
Go well, go shell

Rank: 8Rank: 8

帖子
1829
主题
104
精华
0
可用积分
6357
专家积分
10
在线时间
1071 小时
注册时间
2006-08-25
最后登录
2012-02-07
论坛徽章:
0
发表于 2007-10-09 08:20:59 |显示全部楼层
不用eval:

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

Rank: 1

帖子
316
主题
23
精华
0
可用积分
364
专家积分
0
在线时间
15 小时
注册时间
2003-04-21
最后登录
2010-08-06
论坛徽章:
0
发表于 2007-10-09 09:20:56 |显示全部楼层
原帖由 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 的吧
◆ 欢迎访问 Linux 伊甸园 论坛
您需要登录后才可以回帖 登录 | 注册

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP