linux shell 数组建立及使用技巧.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux shell 数组建立及使用技巧

[chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ echo $a1?一对括号表示是数组,数组元素用“空格”符号分割开。?2.数组读取与赋值得到长度:[chengmo@centos5 ~]$ echo ${#a[@]}5用${#数组名[@或*]} 可以得到数组长度读取:[chengmo@centos5 ~]$ echo ${a[2]}?3[chengmo@centos5 ~]$ echo ${a[*]}?1 2 3 4 5???用${数组名[下标]} 下标是从0开始? 下标是:*或者@ 得到整个数组内容赋值:[chengmo@centos5 ~]$ a[1]=100[chengmo@centos5 ~]$ echo ${a[*]}?1 100 3 4 5?[chengmo@centos5 ~]$ a[5]=100?????[chengmo@centos5 ~]$ echo ${a[*]}1 100 3 4 5 100直接通过数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素删除:[chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ unset a[chengmo@centos5 ~]$ echo ${a[*]}[chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ unset a[1]???[chengmo@centos5 ~]$ echo ${a[*]}?1 3 4 5[chengmo@centos5 ~]$ echo ${#a[*]}4直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。??3.特殊使用分片:[chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ echo ${a[@]:0:3}1 2 3[chengmo@centos5 ~]$ echo ${a[@]:1:4}2 3 4 5[chengmo@centos5 ~]$ c=(${a[@]:1:4})[chengmo@centos5 ~]$ echo ${#c[@]}4[chengmo@centos5 ~]$ echo ${c[*]}?2 3 4 5直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。替换:[chengmo@centos5 ~]$ a=(1 2 3 4 5)????[chengmo@centos5 ~]$ echo ${a[@]/3/100}1 2 100 4 5[chengmo@centos5 ~]$ echo ${a[@]}1 2 3 4 5[chengmo@centos5 ~]$ a=(${a[@]/3/100})?[chengmo@centos5 ~]$ echo ${a[@]}?????1 2 100 4 5调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。?从上面讲到的,大家可以发现linux shell 的数组已经很强大了,常见的操作已经绰绰有余了linux shell 动态生成数组系列 seq使用技巧shell-变量 2010-12-30 16:36:22 阅读5 评论0 ??字号:大中小?订阅如果对linux shell 数组不是很熟悉的话,请看上一篇文章:linux shell 数组建立及使用技巧? ,这篇文章主要讲是动态生成数组系列。方法应该很多,我这里主要以一个求和计算的题目为例进行分析。?题目:请用linux shell 写一段脚本,实现从1..1000中所有偶数的和值。?方法一:通过while 循环得到需要的结果:start=1;total=0;while [ $start -le 1000 ];do??? [[ $(($start%2)) == 0 ]]total=$(($total+$start));?? start=$(($start+1));done;echo $total;?[chengmo@centos5 ~]$ start=1;total=0;while [ $start -le 1000 ];do??? [[ $(($start%2)) == 0 ]]total=$(($total+$start));?? start=$(($start+1));done;echo $total;250500以上运行结果是:249500,在linux shel

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档