Shell脚本数组用法小结
程序员文章站
2023-12-30 21:32:40
array作为一种数据结构,在一些高级语言中都是有直接提供和实现的,当然我shell中也是有的哈。
ps:写这篇文章的原因是b哥在群里发了一个截图:
我大b哥依然是全能...
array作为一种数据结构,在一些高级语言中都是有直接提供和实现的,当然我shell中也是有的哈。
ps:写这篇文章的原因是b哥在群里发了一个截图:
我大b哥依然是全能型人才哈。。。废话少说,说下正题
1、怎么声明一个数组变量?
直接赋值:
复制代码 代码如下:
array[0]=”zero” array[1]=”one” array[2]=”two”
declare声明:
复制代码 代码如下:
declare -a array
小括号空格法:
复制代码 代码如下:
array=(zero one two)
引号空格法:
复制代码 代码如下:
array=”zero one two”
混合法:
复制代码 代码如下:
array=([0]=”zero” [1]=”one” [2]=”two”)
2、怎么遍历一个数组?
标准for循环:
复制代码 代码如下:
[ chenqing@qing ~ ] for(( i=0;i<${#array[@]};i++)) do echo ${array[i]}; done;
zero
one
two
for…in:
复制代码 代码如下:
[ chenqing@qing ~ ] for i in ${array[@]};do echo $i ;done
zero
one
two
3、获取数组的长度
复制代码 代码如下:
[ chenqing@qing ~ ] echo ${#array[@]}
3
[ chenqing@qing ~ ] echo ${#array[*]}
3
4、删除数组元素
复制代码 代码如下:
[ chenqing@qing ~ ] unset array[0]
[ chenqing@qing ~ ] echo ${#array[@]}
2
[ chenqing@qing ~ ] for i in ${array[@]};do echo $i ;done
one
two
5、删除数组
复制代码 代码如下:
unset array
6、和python一样的切片
复制代码 代码如下:
[ chenqing@qing ~ ] echo ${array[@]:0:1}
zero
[ chenqing@qing ~ ] echo ${array[@]:0:2}
zero one
[ chenqing@qing ~ ] echo ${array[@]:0:3}
zero one two
[ chenqing@qing ~ ] echo ${array[@]:1}
one two
[ chenqing@qing ~ ] echo ${array[@]:2}
two