查看“Shell数组”的源代码
←
Shell数组
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==1定义== <pre>直接用圆括号包数组元素包起来,数组元素之间用空格隔开就行了,bash支持一维数组(不支持多维数组) 定义数组的一般形式为: array_name=(value1 ... valuen) 或者 array_name=( value0 value1 value2 value3 ) evan@evanpc:~$ a=(1 2 3 4 5 ) evan@evanpc:~$ echo $a </pre> ==2.数组读取与赋值== <pre> 数组长度 用${#数组名[@或*]} 可以得到数组长度 evan@evanpc:~$ echo ${#a[@]} 5 读取: 用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容 evan@evanpc:~$ echo ${a[0]} 1 evan@evanpc:~$ echo ${a[2]} 3 evan@evanpc:~$ echo ${a[*]} 1 2 3 4 5 赋值: 直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素 evan@evanpc:~$ a[1]=100 evan@evanpc:~$ echo ${a[*]} 1 100 3 4 5 evan@evanpc:~$ a[6]=100 evan@evanpc:~$ echo ${a[*]} 1 100 3 4 5 100 删除: 直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。 evan@evanpc:~$ a=(1 2 3 4 5 ) evan@evanpc:~$ unset a evan@evanpc:~$ echo ${a[*]} evan@evanpc:~$ a=(1 2 3 4 5 ) evan@evanpc:~$ unset a[1] evan@evanpc:~$ echo ${a[*]} 1 3 4 5 evan@evanpc:~$ echo ${#a[*]} 4 </pre> ==3.特殊使用== <pre> 分片: 直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,下面例子:c 就是一个新数据。 evan@evanpc:~$ a=(1 2 3 4 5 ) #从0 也就是第一个元素开始,切出3个元素 evan@evanpc:~$ echo ${a[@]:0:3} 1 2 3 evan@evanpc:~$ echo ${a[@]:1:4} 2 3 4 5 evan@evanpc:~$ c=(${a[@]:1:4}) evan@evanpc:~$ echo ${#c[@]} 4 evan@evanpc:~$ echo ${c[*]} 2 3 4 5 替换: 调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。 evan@evanpc:~$ a=(1 2 3 4 5 ) evan@evanpc:~$ echo ${a[@]/3/100} 1 2 100 4 5 evan@evanpc:~$ echo ${a[@]} 1 2 3 4 5 evan@evanpc:~$ a=(${a[@]/5/500}) evan@evanpc:~$ echo ${a[@]} 1 2 3 4 500 evan@evanpc:~$ 数组的遍历 for data in ${array[@]} do echo ${data} done tar czf ${codefilename} ${baklist_www[@]:0} 2>/dev/null </pre> http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html http://www.tldp.org/LDP/abs/html/ http://c.biancheng.net/cpp/view/7002.html Shell 数组元素个数${#array[@]} 数组的所有元素${array[*]} 字符串长度${#str} http://zhenshi4597.blog.51cto.com/1891465/871166 [shell] shell数组(array)常用技巧学习实践(数据库备份脚本) http://bbs.linuxtone.org/thread-5317-1-1.html [[category:shell]]
返回至
Shell数组
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息