Shell中陣列的操作

2021-08-31 21:34:36 字數 1213 閱讀 6141

看一下shell中陣列的幾種操作:定義、遍歷、修改、刪除、引數傳遞操作

shell中對於陣列的定義直接使用(),元素之間使用空格隔開即可

array=(1 2 3 4 5)

array=(abc def gh)

取得陣列的值:取出所有的數值以及取出某個位置上的數值

echo $

echo $

echo $array[0]

echo $

echo $

如果陣列作為引數傳遞到函式中,還可以使用:

echo $#
直接修改某點上的數值,如果下標超出陣列長度,則修改的數字會插入到陣列的最後

array[2]=4
分別為刪除某一節點的數值,以及刪除整個陣列 

unset array[2]

unset array

count=0

for value in $

do echo "the $count num is: $value"

$count=$[ $count + 1 ]

done

如果作為引數傳遞到函式中,那麼只能夠由#@來獲取引數列表,在函式中將這些重組為陣列,實現為:

function fun 

doecho $value

done

}array=(1 2 3 4 5)

fun $

在newarray=($(echo #@))中,最外層括號就表示將輸出的引數中心轉換為陣列 

如果想要將陣列來做返回值呢?

那麼就使用shell中輸出作為返回值即可,在函式外將輸出轉換為陣列,實現為:

shell中陣列的操作

在寫shell指令碼時,有時也希望像c語言那樣去使用陣列,bash是支援一維陣列的。本文主要介紹在shell指令碼中關於陣列的應用,包括陣列的定義 讀取 替換 刪除和複製。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。在shel...

shell的陣列操作

shell中陣列的下標預設是從0開始的 1。將字串存放在陣列中,獲取其長度 bin bash str a b n d array str length echo length for i 0 i length i doecho done along along laptop code shell s...

shell陣列操作

一 陣列定義 使用declare a 命令定義陣列 陣列的索引是從0開始計數的 接下來就可以通過操作符為不同索引位置的元素賦值。declare a names names 0 tom names 1 jack在定義陣列的同時,可以同時賦值,用 表示,各元素之間用空格隔開 定義的同時直接賦值 decl...