使用括號定義陣列,陣列元素間用空格來分隔
array=(1
"hello man" a)
# =號兩邊不能有空格,元素資料型別可以不一致
echo $
# 輸出陣列的所有元素
nums=(29
10013891
44)nums[6]
=898
# 動態新增元素
echo $
nums=
(172.17
.2.32
172.17
.2.33
172.17
.2.34
)echo $
獲取陣列元素的值,一般使用下面的格式:
$
shell陣列的下標也是從0開始
#!/bin/bash
nums=
(172.17
.2.32
172.17
.2.33
172.17
.2.34
)echo $
# 輸出陣列中第二個元素
echo $
echo $
# 輸出陣列中所有元素
echo $
# 輸出陣列中所有元素
分片訪問形式為:$,注意,不包括結束下標元素的值。
#!/bin/bash
nums=
(172.17
.2.32
172.17
.2.33
172.17
.2.34
172.17
.2.35
172.17
.2.36
172.17
.2.37
)echo $
# 從下標為1的元素開始輸出,輸出4個元素
# 172.17.2.33 172.17.2.34 172.17.2.35 172.17.2.36
nums=
(172.17
.2.32
172.17
.2.33
172.17
.2.34
172.17
.2.35
172.17
.2.36
172.17
.2.37
)unset nums[1]
# 刪除陣列中下標為1,即第二個元素
echo $
unset nums # 清空整個陣列
echo $
nums=(1
3456
)for value in $
; do
echo $value
done
nums=(1
3456
)len
=$ # 獲取陣列的長度,注意有個#號
for(
(i=0
;i<$
;i++))
; do
echo $
done
shell 中的陣列的應用
linux 的shell提供了簡單的陣列操作功能,下面進行簡單的介紹 1 建立乙個陣列 和普通的變數相同,shell中的陣列不需要宣告,直接定義並使用即可。對於乙個變數,如果按照資料的方式去訪問它,那麼shell就會將其當做乙個陣列變數來操作。比如 h 0 1 h 1 2 h 2 3 就定義了乙個陣...
shell中for的應用
root localhost hh.sh bin bash read p 請輸入乙個小於100的整數 aa if aa eq 1 then echo 和等於 aa sum 0 第乙個for的賦值 sum1 0 第二個for的賦值 elif aa gt 1 aa lt 100 then for i 1...
Shell中的陣列
一 陣列和字串 array 3 a b c echo array 1 輸出b,str a b c array str echo array 1 同樣輸出b,要注意 array str 中的右值的括號不能缺 上面這個就是我們常說的把字串放到乙個陣列中,也可以理解為動態陣列,比c和c 簡單多了 計算字串...