Shell脚本数组用法小结
array作为一种数据结构,在一些高级语言中都是有直接提供和实现的,当然我shell中也是有的哈。
PS:写这篇文章的原因是B哥在群里发了一个截图:
我大B哥依然是全能型人才哈。。。废话少说,说下正题
1、怎么声明一个数组变量?
直接赋值:
array[0]=”Zero”array[1]=”One”array[2]=”Two”
declare声明:
declare-aarray
小括号空格法:
array=(ZeroOneTwo)
引号空格法:
array=”ZeroOneTwo”
混合法:
array=([0]=”Zero”[1]=”One”[2]=”Two”)
2、怎么遍历一个数组?
标准for循环:
[chenqing@Qing~ ]for((i=0;i<${#array[@]};i++))doecho${array[i]};done;
Zero
One
Two
for…in:
[chenqing@Qing~ ]foriin${array[@]};doecho$i;done
Zero
One
Two
3、获取数组的长度
[chenqing@Qing~ ]echo${#array[@]}
3
[chenqing@Qing~ ]echo${#array[*]}
3
4、删除数组元素
[chenqing@Qing~ ]unsetarray[0]
[chenqing@Qing~ ]echo${#array[@]}
2
[chenqing@Qing~ ]foriin${array[@]};doecho$i;done
One
Two
5、删除数组
unsetarray
6、和python一样的切片
[chenqing@Qing~ ]echo${array[@]:0:1}
Zero
[chenqing@Qing~ ]echo${array[@]:0:2}
ZeroOne
[chenqing@Qing~ ]echo${array[@]:0:3}
ZeroOneTwo
[chenqing@Qing~ ]echo${array[@]:1}
OneTwo
[chenqing@Qing~ ]echo${array[@]:2}
Two