shell 数组使用

来源:互联网 发布:flicker free mac 编辑:程序博客网 时间:2024/05/19 15:20

1、定义空数组

arr=()

2、数组赋值

arr=(1 2 3 4)   ----元素之间必须空格分隔

3、获取数组大小

echo ${#arr[@]} or echo ${#arr[*]}

4、获取数组所有元素

echo ${arr[@]} or echo ${#arr[*]}

5、获取数组所有索引

echo ${!arr[@]} or echo ${#arr[*]}

6、获取数组单个元素

echo ${arr[0]}

7、删除整个数组元素

unset arr

8、删除数组中某个元素

unset arr[1]

9、数组分片

直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。

echo ${arr[@]:0:3}

[root@master ~]# echo ${arr[@]:0:3}
1 2 3

arr2=(${arr[@]:0:3})

[root@master ~]# arr2=(${arr[@]:0:3})
[root@master ~]# echo ${arr2[*]}
1 2 3

10、数组元素替换

echo ${arr[@]/2/99}

[root@master ~]# echo ${arr[@]/2/99}
1 99 3 4