Shell中的陣列應用

2021-10-06 18:56:49 字數 1631 閱讀 2384

使用括號定義陣列,陣列元素間用空格來分隔

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 簡單多了 計算字串...