【CentOS 7Shell編程9】,shell中的數組#180301

hellopasswdshell


shell中的數組

  • 定義數組 a=(1 2 3 4 5);echo ${a[@]}數組

  • echo $(#a[@]}獲取數組的元素個數code

  • echo ${a[2]}讀取第三個元素,數組從0開始co

  • echo ${a[*]}等同於${a[@]}顯示整個數組block

  • 數組賦值localhost

  • a[1]=100;echo ${a[@]}

  • a[5]=2;echo ${a[@]}若是下標不存在則會自動添加一個元素

  • 數組的刪除

  • uset a;unset a[1]

  • 數組分片

  • a=(seq 1 5)

  • echo ${a[@]:0:3}從第一個元素開始,截取3個

  • echo ${a[@]:1:4}從第二個元素開始,截取4個

  • echo ${a[2]:0-3:2}從倒數弟3個元素開始,截取2個

  • 數組替換

  • echo ${a[@]/3/100}

  • a=(${a[@]/3/100})

定義數組

[root@localhost shell]# b=(1 2 3)

數組賦值

[root@localhost shell]# echo ${b[@]}
1 2 3
[root@localhost shell]# echo ${b[*]}
1 2 3
[root@localhost shell]# echo ${b[1]}
2
[root@localhost shell]# echo ${b[2]}
3
[root@localhost shell]# echo ${b[3]}

[root@localhost shell]# echo ${b[0]}
1

獲取個數

[root@localhost shell]# echo ${#b[@]}
3
[root@localhost shell]# b[3]=a
[root@localhost shell]# echo ${b[*]}
1 2 3 a

數組的刪除

[root@localhost shell]# unset b[3]
[root@localhost shell]# echo ${b[*]}
1 2 3
[root@localhost shell]# unset b
[root@localhost shell]# echo ${b[*]}

分片

[root@localhost shell]# a=(`seq 1 10`)
[root@localhost shell]# echo ${a[*]}
1 2 3 4 5 6 7 8 9 10
[root@localhost shell]# echo ${a[@]:3:4}
4 5 6 7
[root@localhost shell]# echo ${a[@]:0-3:2}
8 9

這裏取後邊3必須用0-3,不能用負數

替換

[root@localhost shell]# echo ${a[@]/8/6}
1 2 3 4 5 6 7 6 9 10
[root@localhost shell]# a=(${a[@]/8/6})
[root@localhost shell]# echo ${a[@]}
1 2 3 4 5 6 7 6 9 10

修改於 180301

相關文章
相關標籤/搜索