shell陣列總結

2021-06-28 04:05:13 字數 2034 閱讀 7346

1.計算陣列長度:

$2.列出陣列索引:

$或者$

3.列印陣列中所有值:

$或者$

4.shell中遍歷陣列元素:

for str in $;

do echo $str;

done

5.定義空陣列

uset array

普通陣列:

1.初始化:

第一種初始化

[root@jjy ~/q/data/tmp_data]# array_origin=(1 2 3 4)

[root@jjy ~/q/data/tmp_data]# echo $

4

第二種初始化

[root@jjy ~/q/data/tmp_data]# arra_origin[0]=00

[root@jjy ~/q/data/tmp_data]# arra_origin[1]=11

[root@jjy ~/q/data/tmp_data]# arra_origin[2]=22

[root@jjy ~/q/data/tmp_data]# arra_origin[3]=33

2.訪問方式:

[root@jjy ~/q/data/tmp_data]# for item in $; do echo $item; done

0011

2233

ps:在awk中遍歷陣列的方式:i 代表的是key,而非value,切忌!切忌!

[root@jjy ~/q/data/tmp_data]# echo "1" | awk 'begin  }'12

34[root@jjy ~/q/data/tmp_data]# echo "1" | awk 'begin }'

1122

3344

關聯陣列:

第一種顯示申明初始化:

[root@jjy ~/q/data/tmp_data]# declare -a ass_array_1

第二種內嵌索引值列表初始化:

[root@jjy ~/q/data/tmp_data]# ass_array_2=(["host1"]="192.168.1.23" ["ip1"]="192.168.1.23")

賦值:

[root@jjy ~/q/data/tmp_data]# ass_array["host"]="192.168.1.23"

[root@jjy ~/q/data/tmp_data]# ass_array["ip"]="192.168.1.23"

訪問:

根據key查詢value

[root@jjy ~/q/data/tmp_data]# echo $

192.168.1.23

檢視所有key

[root@jjy ~/q/data/tmp_data]# echo $

host1 ip

檢視所有value

[root@jjy ~/q/data/tmp_data]# echo $

192.168.1.23 192.168.1.23

Shell陣列總結

1 直接定義整個陣列 語法格式 array name value1 value2 valuen 例如 my array a b c d 2 使用下標來定義陣列 array name 0 value0 array name 1 value1 array name 2 value2 my array a...

shell陣列操作簡明總結

陣列作為一種特殊的資料結構在任何一種程式語言中都有它的一席之地,當然bash shell也不例外。本文就shell陣列來做乙個小的總結。在這裡只討論一維陣列的情況,關於多維陣列 事實上,你得用一維陣列的方法來模擬 不涉及。這裡包括陣列的複製,計算,刪除,替換。1.陣列的宣告 複製 如下 1 arra...

shell指令碼學習總結02 陣列

bash同時支援普通陣列個關聯陣列,普通陣列只能使用整數作為陣列的索引,關聯陣列可以使用字串作為陣列的索引。陣列的定義方法 在單行中使用一列值定義乙個陣列 root new array1 123 456 使用索引 值定義 root new array2 0 test1 root new array2...