hellopasswdshell
定義數組 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