shell中的數組
- shell中的數組1
- 定義數組 a=(1 2 3 4 5); echo ${a[@]}
- echo ${#a[@]} 獲取數組的元素個數
- echo ${a[2]} 讀取第三個元素,數組從0開始
- echo ${a[*]} 等同於 ${a[@]} 顯示整個數組
- 數組賦值
- a[1]=100; echo ${a[@]}
- a[5]=2; echo ${a[@]} 若是下標不存在則會自動添加一個元素
- 數組的刪除
- uset a; unset a[1]
- shell中的數組2
- 數組分片
- a=(
seq 1 5
)
- echo ${a[@]:0:3} 從第一個元素開始,截取3個
- echo ${a[@]:1:4} 從第二個元素開始,截取4個
- echo ${a[@]:0-3:2} 從倒數第3個元素開始,截取2個
- 數組替換
- echo ${a[@]/3/100}
- a=(${a[@]/3/100})
shell中的數組
- 數組,就是一串字符創或者一串數字,造成的一個變量,把這個變量叫作數組
- echo ${b[*]} 等同於 ${b[@]} 顯示整個數組
- 理解爲 打印 $a 裏面的全部東西, @、*都表示全部內容
[root@hf-01 shell]# b=(1 2 3) 定義數組
[root@hf-01 shell]# echo ${b[@]} 表示數組
1 2 3
[root@hf-01 shell]# echo ${b[*]} 表示數組
1 2 3
- 查看某一個元素的值
- 特殊性:方括號裏面的數字表示它的下標,意思就是說這個元素是第幾個
- 第0個就表示第一個,第一個就表示第二個.....(數組就是從0 開始的)
[root@hf-01 shell]# echo ${b[1]}
2
[root@hf-01 shell]# echo ${b[2]}
3
[root@hf-01 shell]# echo ${b[0]}
1
[root@hf-01 shell]#
- 獲取數組元素的個數
[root@hf-01 shell]# echo ${#b[@]}
3
[root@hf-01 shell]#
數組賦值
[root@hf-01 shell]# b[3]=a
[root@hf-01 shell]# echo ${b[*]}
1 2 3 a
[root@hf-01 shell]# b[3]=100
[root@hf-01 shell]# echo ${b[*]}
1 2 3 100
[root@hf-01 shell]#
數組的刪除
[root@hf-01 shell]# unset b[3]
[root@hf-01 shell]# echo ${b[*]}
1 2 3
[root@hf-01 shell]# unset b 把數組的值清空
[root@hf-01 shell]# echo ${b[*]}
[root@hf-01 shell]#
數組的分片
[root@hf-01 shell]#
[root@hf-01 shell]# a=(`seq 1 10`)
[root@hf-01 shell]# echo ${a[*]}
1 2 3 4 5 6 7 8 9 10
[root@hf-01 shell]#
3表示從3開始,4表示截取4個
[root@hf-01 shell]# echo ${a[*]:3:4}
4 5 6 7
[root@hf-01 shell]#
[root@hf-01 shell]# echo ${a[*]:0-3:2}
8 9
[root@hf-01 shell]#
數組的替換
[root@hf-01 shell]# echo ${a[*]}
1 2 3 4 5 6 7 8 9 10
[root@hf-01 shell]# echo ${a[*]/8/6}
1 2 3 4 5 6 7 6 9 10
[root@hf-01 shell]#
[root@hf-01 shell]# a=(${a[*]/8/6})
[root@hf-01 shell]# echo ${a[*]}
1 2 3 4 5 6 7 6 9 10
[root@hf-01 shell]#