当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 数组赋值无效的问题(已解决)
帖子发表于 : 2010-08-02 13:53 

注册: 2008-11-08 18:34
帖子: 627
送出感谢: 0 次
接收感谢: 1
有一个文件bbb
代码:
vava@vava:~/mytest$ more bbb
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251
http://www.xxx.cn/getArticleByAid.action?mid=34&aid=245
http://www.xxx.cn/getArticleByAid.action?mid=71&aid=244
http://www.xxx.cn/getArticleByAid.action?mid=113&aid=232
http://www.xxx.cn/getArticleByAid.action?mid=76&aid=227
http://www.xxx.cn/getArticleByAid.action?mid=53&aid=219


现在写一个脚本slave
代码:
vava@vava:~/mytest$ more slave
#!/bin/bash
array=("1" "2" "3" "4" "5" "6");
echo ${array[0]};
echo ${array[1]};
echo ${array[2]};
echo ${array[3]};
echo ${array[4]};
echo ${array[5]};
echo =====================
j=0;
cat ./bbb|while read i;do array[$j]=$i;echo $j;echo ${array[$j]};echo ${array[0]}=====;j=$[j+1];done
echo =====================
echo ${array[0]};
echo ${array[1]};
echo ${array[2]};
echo ${array[3]};
echo ${array[4]};
echo ${array[5]};


运行后的结果
代码:
vava@vava:~/mytest$ ./slave
1
2
3
4
5
6
=====================
0
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
1
http://www.xxx.cn/getArticleByAid.action?mid=34&aid=245
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
2
http://www.xxx.cn/getArticleByAid.action?mid=71&aid=244
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
3
http://www.xxx.cn/getArticleByAid.action?mid=113&aid=232
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
4
http://www.xxx.cn/getArticleByAid.action?mid=76&aid=227
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
5
http://www.xxx.cn/getArticleByAid.action?mid=53&aid=219
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
=====================
1
2
3
4
5
6


结果出来和我预测的不一样
array[*]里的数值在出来while循环后,又变回了原来的值
why,how to deal


_________________
气血鼓荡,身体发胀,偶飘上头,三时舒畅


最后由 gzbao9999 编辑于 2010-08-02 15:23,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 数组赋值无效的问题
帖子发表于 : 2010-08-02 14:00 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
bash里面while循环接受外部变量似乎要用<重定向


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 数组赋值无效的问题
帖子发表于 : 2010-08-02 14:09 

注册: 2008-11-08 18:34
帖子: 627
送出感谢: 0 次
接收感谢: 1
trigger 写道:
bash里面while循环接受外部变量似乎要用<重定向

不太明白,能给个例子么?


_________________
气血鼓荡,身体发胀,偶飘上头,三时舒畅


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 数组赋值无效的问题
帖子发表于 : 2010-08-02 14:15 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/bin/bash
array=("1" "2" "3" "4" "5" "6");
echo ${array[0]};
echo ${array[1]};
echo ${array[2]};
echo ${array[3]};
echo ${array[4]};
echo ${array[5]};
echo =====================
j=0;
while read i
    do array[$j]=$i
        echo $j
        echo ${array[$j]}
        echo ${array[0]}=====
        j=$[j+1]
    done < bbb
echo =====================
echo ${array[0]};
echo ${array[1]};
echo ${array[2]};
echo ${array[3]};
echo ${array[4]};
echo ${array[5]};


代码:
$ ./whilechongdx.sh
1
2
3
4
5
6
=====================
0
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
1
http://www.xxx.cn/getArticleByAid.action?mid=34&aid=245
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
2
http://www.xxx.cn/getArticleByAid.action?mid=71&aid=244
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
3
http://www.xxx.cn/getArticleByAid.action?mid=113&aid=232
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
4
http://www.xxx.cn/getArticleByAid.action?mid=76&aid=227
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
5
http://www.xxx.cn/getArticleByAid.action?mid=53&aid=219
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
6

http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251=====
=====================
http://www.xxx.cn/getArticleByAid.action?mid=66&aid=251
http://www.xxx.cn/getArticleByAid.action?mid=34&aid=245
http://www.xxx.cn/getArticleByAid.action?mid=71&aid=244
http://www.xxx.cn/getArticleByAid.action?mid=113&aid=232
http://www.xxx.cn/getArticleByAid.action?mid=76&aid=227
http://www.xxx.cn/getArticleByAid.action?mid=53&aid=219


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 数组赋值无效的问题
帖子发表于 : 2010-08-02 14:54 

注册: 2008-11-08 18:34
帖子: 627
送出感谢: 0 次
接收感谢: 1
搞定了 谢谢楼上


_________________
气血鼓荡,身体发胀,偶飘上头,三时舒畅


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译