#定義:
array=(1
"two"
3"four")
array[index]=value
#訪問陣列元素(array必須用大括號括起來):
$]}# 獲取陣列所有元素(元素之間以空格分隔)
$# 獲取陣列長度
$# 按下標遍歷
for i in
$(seq $(($-1)));
do echo $i, $;
done
# 按元素遍歷(必須加雙引號)
for var in
"$"
注:
# 定義
fruit_value[index]=value
# 訪問陣列元素
$"]}
# 獲得所有key
$# 獲得所有value
$# 按key遍歷關聯陣列
forvar in "$"
注:
例:統計檔案型別資訊。
#!/bin/bash
if [ $#
-ne1 ];
then
echo
"usage: filetype_analyzer.sh path"
exit -1
fideclare -a types
for file in `ls $1`
dotype=`file $file -b | cut -d, -f1`
let types["$type"]++
#echo $file, $type, $
done
fortype
in"$"
doecho
$type
":"$
done
get_nth_array_element的位置引數含義:
$1:返回陣列第幾個元素(從0開始)2:
陣列,"
」把陣列元素轉換成」array[0]」 「array[1]」 … 「array[n-1]」,可以正確處理陣列元素中有空格的情況。實際上函式接受了1+len(array)個位置引數
偏移關係:array[0]是2,
因此偏移
為2, 為array[i]
get_nth_array_element的位置引數含義:1:
返回ar
ray1
[ 1]2:
返回ar
ray2
[ 2]
$3:len(array1)
$4:array1[0]
$(n+4):array2[0]
偏移關係:3表
示第乙個
陣列的長
度(假設
為n),
4-n+
4−1的
位置引數
是第乙個
陣列,這
樣 (n+4)就是第二個陣列[0]元素
#獲得第n個陣列的[m]索引元素
eval
var=\$
how to define hash tables in bash?
passing multiple distinct arrays to a shell function
how to get the nth positional argument in bash?
關於Bash中陣列的使用
關於bash中的陣列,很多文章都已經介紹過。這裡我也簡單的寫一下 一 基礎 bash只是提供了一維陣列,但沒有上限的限制。1 宣告 declare a name 這樣就宣告了乙個name陣列。2 賦值 給陣列的賦值可以參考普通變數的定義,如 name 0 beijing name 1 guangzh...
bash陣列定義
如果用標準的 nix shell將不能使用bash的陣列特性。雖然在perl,python,php及其他高階語言中陣列已經不是乙個強大的功能,但陣列使用還是相當廣泛。bash只支援一維陣列,但引數個數沒有限制。宣告乙個陣列 declare a array 如果沒有宣告,按陣列方式直接賦值給變數,ba...
Bash 索引陣列
bash 提供了兩種型別的陣列,分別是索引陣列 indexed array 和關聯陣列 associative array 本文主要介紹索引陣列的基本用法。bash 提供的陣列都是一維陣列。任何變數都可以用作索引陣列。通過 declare 關鍵字可以顯式的宣告乙個索引陣列。陣列的大小是不受限制的。索...