bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。
類似於 c 語言,陣列元素的下標由 0 開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於 0。
在 shell 中,用括號來表示陣列,陣列元素用"空格"符號分割開。定義陣列的一般形式為:
陣列名=(值1 值2 ... 值n)
array_name=(value0 value1 value2 value3)
或者array_name=(
value0
value1
value2
value3
)還可以單獨定義陣列的各個分量:
array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen
讀取陣列元素值的一般格式是:
$
例如:
valuen=$
使用 @ 符號可以獲取陣列中的所有元素,例如:
echo $
獲取陣列長度的方法與獲取字串長度的方法相同,例如:
# 取得陣列元素的個數
length=$
# 或者
length=$
# 取得陣列單個元素的長度
lengthn=$
shell指令碼基礎語法(if 和 陣列)
條件判斷命令 test 或者 例 test 1 lt 4 判斷1 4 test語句的等價形式 1 lt 4 檔案測試符號 f 存在且是普通檔案 d 存在且是目錄 s 存在且位元組數大於0 r 存在且可讀 w 存在且可寫 x 存在且可執行 如 test d mydoc 判斷mydoc是否是目錄例子 1...
Shell學習之shell語法
shell指令碼就是將完成乙個任務的所有的命令按照執行的先後順序,自上而下寫入到乙個文字檔案中,然後給予執行許可權。shell指令碼的命名 名字要有意義 不超過30個位元組 sh結尾 名字不要太長 區分大小寫 shell指令碼格式 shell指令碼開頭必須指定指令碼執行環境 以 這個特殊符號組合來組...
shell語法小結
原帖 http blog.chinaunix.net u1 34739 showart 283263.html 1 set命令 當沒有引數的時候,列出系統中所有的自定義變數值 當有引數的時候,重置基本引數如 1 2等。如 set date 將date 命令的輸出當作輸入引數 2 let命令 執行算術...