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