shell从入门到精通之数组定义以及增删改查

shell数组

 如果有python语言基础的朋友,shell的数组和python中的列表很像,包括一些增删改查操作,但是python中的list是多维的,而shell基本上是一维的。

数组的定义与读取
1)数组定义

 [root@master shell]# arr=(1 2 3)
  1. 查看数组长度
[root@master shell]# echo ${#arr[@]} 
3
[root@master shell]# echo ${#arr[*]} 
3
  1. 打印数组元素
[root@master shell]# echo ${arr[0]}  -----取第一个元素
1
[root@master shell]# echo ${arr[1]}  -----取第二个元素
2
[root@master shell]# echo ${arr[2]}  ---- 取第三个元素
3
[root@master shell]# echo ${arr[@]}  -----取全部元素
1 2 3
[root@master shell]# echo ${arr[*]}  -----取全部元素
1 2 3

4)数组的赋值

[root@master shell]# arr[3]=4 
[root@master shell]# echo ${arr[@]}
 1 2 3 4
[root@master shell]# arr[0]=wanglei
[root@master shell]# echo ${arr[@]}
 wanglei 2 3 4
  1. 数组删除

```bash
直接通过unset
[root@master shell]# unset arr -------删除所有元素
[root@master shell]# echo ${arr[@]}

[root@master shell]# arr=(1 2 3)
[root@master shell]# unset arr[0]  ----------删除某个元素
[root@master shell]# echo ${arr[@]}
2 3

6) 数组内容的截取替换

[root@master shell]# wl2=(1 2 3 4 5)
[root@master shell]# echo ${wl2[@]:1:3}--------截取第一个到第三个元素
2 3 4
[root@master shell]# echo ${wl2[@]/5/wanglei}------将数组中的元素5替换为wanglei
1 2 3 4 wanglei

数组的多种定义方法

   1)arr=(1 2 3)
   2)arr[0]=1;arr[1]=2;arr[2]=3
   3) declare -a 数组名

你可能感兴趣的:(shell脚本从入门到精通,linux,centos,运维,shell)