shell數組 數組介紹 數組就是各種數據類型的元素按一定順序排列的集合。 數組就是把有限個元素變數或數據用一個名字命名,然後用編號區分它們的變數的集合。這個名字稱為數組名,編號稱為數組下標。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。 數組定義與增刪改查 方法1:arr... ...
shell數組
數組介紹
數組就是各種數據類型的元素按一定順序排列的集合。
數組就是把有限個元素變數或數據用一個名字命名,然後用編號區分它們的變數的集合。這個名字稱為數組名,編號稱為數組下標。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。
數組定義與增刪改查
方法1:array=(value1 value2 value3)
1)數組定義
- [root@lamp ~]# array=(1 2 3)
2)獲取數組的長度
- [root@lamp ~]# echo ${#array[*]}
- 3
- [root@lamp ~]# echo ${#array[@]}
- 3
3)列印數組元素
- [root@lamp ~]# echo ${array[0]}
- 1
列印數組元素用${數組名[下標]},下標從0開始。
列印所有數組元素。
- [root@lamp ~]# echo ${array[*]}
- 1 2 3
- [root@lamp ~]# echo ${array[@]}
- 1 2 3
for迴圈列印數組。
- [root@lamp ~]# cat array.sh
- #!/bin/bash
- array=(
- 192.168.0.1
- 192.168.0.2
- 192.168.0.3
- )
- for((i=0;i<${#array[@]};i++))
- do
- echo ${array[i]}
- done
- echo "----------------"
- for i in ${array[@]}
- do
- echo $i
- done
4)數組賦值
- [root@lamp ~]# array=(1 2 3)
- [root@lamp ~]# echo ${array[@]}
- 1 2 3
- [root@lamp ~]# array[3]=4
- [root@lamp ~]# echo ${array[*]}
- 1 2 3 4
5)數組刪除
- [root@lamp ~]# array=(1 2 3)
- [root@lamp ~]# unset array[0]
- [root@lamp ~]# echo ${array[@]}
- 2 3
6)數組內容的截取和替換
截取
- [root@lamp ~]# array=(1 2 3 4 5 6)
- 截取1號到3號數組元素
- [root@lamp ~]# echo ${array[@]:1:3}
- 2 3 4
- [root@lamp ~]# echo ${array[*]:3:2}
- 4 5
替換
- 把數組中的5替換成88,臨時生效,原數組不變
- [root@lamp ~]# echo ${array[@]/5/88}
- 1 2 3 4 88 6
把系統命令結果作為數組元素。
- [root@lamp ~]# array=($(ls))
小結
1、定義
靜態數組:array=(1 2 3)
動態數組:array=($(ls))
數組賦值:array[3]=4
2、列印
列印所有元素:${array[@]}或${array[*]}
列印數組長度:${#array[@]}或${array[*]}
列印單個元素:${array[i]},i是數組下標