Shell編程---數組學習總結

概述

array作爲一種數據結構,在所有高級語言編程中都是有直接提供和實現的,shell 肯定也是會使用到的。

數組的聲明

怎樣聲明一個數組變量?假設數組的變量名爲array。

  1. 直接賦值(根據數組的下標進行賦值)
array[0]="a" 
array[1]="b"
array[3]="c"
  1. 結合關鍵字declare 進行聲明
declare -a array
  1. 小括號空格法
array=("a" "b" "c")
  1. 引號空格法
array="a b c d e"
  1. 混合法
array=([0]="a" [1]="b" [2]="c")

數組的長度

在shell中如何獲取數組的長度?假設數組的變量名爲array。

#獲取整個數組的長度
echo ${#array[@]}
echo ${#array[*]}

------------------------------------------------------------------------------

# 獲取數組單個元素的長度(i表示數組元素的下標)
echo ${#array[i]}

數組的值

在shell中如何獲取數組的值?假設數組的變量名爲array。

#獲取數組某個下標(元素)的值:
echo ${array[i]}

------------------------------------------------------------------------------

#獲取整個數組(即所有元素)的值:
echo ${array[@]}

數組的遍歷

在shell中如何遍歷一個數組?假設數組的變量名爲array。

  1. 標準for循環
for (i=0;i<=${#array[@];i++})
do
	echo ${array[i]}
done
  1. for…in…循環
for value in ${array[@]
do
	echo ${value}
done

數組的刪除

#刪除數組中的某個元素;其中i表示數組元素的下標
unset array[i]  

------------------------------------------------------------------------------

#刪除整個數組
unset array

數組的切片(數組的提取)

#定義一個數組array
array=("a" "b" "c" "d" "e" "f")

#獲取數組的長度
[ yuki@myhost ~  ] echo ${#array[@]}
6
[ yuki@myhost ~  ] echo ${#array[*]}
6

#獲取數組下標爲1的元素的值
[ yuki@myhost ~  ] echo ${array[1]}
b

#獲取數組的所有值
[ yuki@myhost ~  ] echo ${array[@]}
b


#從數組下標爲n開始切片到下標爲m的地方,包前n下標的值不包後m下標的值
# 語法:echo ${array[@]:n:m}

[ yuki@myhost ~  ] echo ${array[@]:0:3}
a b c
[ yuki@myhost ~  ] echo ${array[@]:0:4}
a b c d

#從數組下標爲m開始切片到數組末尾,包括m下標的值
# 語法:echo ${array[@]:m}
[ yuki@myhost ~  ] echo ${array[@]:1}
b c d e f
[ yuki@myhost ~  ] echo ${array[@]:5}
f
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章