擴充閱讀
linux Shell 命令列-00-intro 入門介紹
linux Shell 命令列-02-var 變數
linux Shell 命令列-03-array 陣列
linux Shell 命令列-04-operator 運算子
linux Shell 命令列-05-test 驗證是否符合條件
linux Shell 命令列-06-flow control 流程控制
linux Shell 命令列-07-func 函式
linux Shell 命令列-08-file include 檔案包含
linux Shell 命令列-09-redirect 重定向
定義
Shell 僅支援單維陣列。
array=(值1 值2 ... 值n)
- array.sh
#!/bin/sh
# 陣列演示
array=(a b "c" d)
# 另一種定義陣列的方式
array_two[0]=a
array_two[1]=b
array_two[2]="c"
array_two[3]=d
讀取
您可以這樣從陣列中讀取:
${array_name[index]}
- read_array.sh
#!/bin/sh
# 從陣列中讀取
array=(a b c "d")
echo "第一個元素是 ${array[0]}"
echo "第二個元素是 ${array[1]}"
echo "第三個元素是 ${array[2]}"
echo "最後一個元素是 ${array[-1]}"
- 執行
root@iZuf60ahcky4k4nfv470juZ:~/code/shell# chmod +x read_array.sh
root@iZuf60ahcky4k4nfv470juZ:~/code/shell# ./read_array.sh
第一個元素是 a
第二個元素是 b
第三個元素是 c
最後一個元素是 d
讀取所有元素
我們可以使用 *
或 @
來獲取陣列中的所有元素。
- read_all_array.sh
#!/bin/sh
# 讀取陣列中的所有元素
array=(a b c d)
echo "陣列中的所有元素:${array[*]}"
echo "陣列中的所有元素:${array[@]}"
- 執行
root@iZuf60ahcky4k4nfv470juZ:~/code/shell# chmod +x read_all_array.sh
root@iZuf60ahcky4k4nfv470juZ:~/code/shell# ./read_all_array.sh
陣列中的所有元素:a b c d
陣列中的所有元素:a b c d
陣列長度
我們可以使用 ${#array[*]}
或 ${#array[@]}
來獲取陣列的大小。
- array_length.sh
!#/bin/sh
# 陣列長度
array=(a b c d E)
echo "陣列的大小為:${#array[*]}"
echo "陣列的大小為:${#array[@]}"
- 執行
root@iZuf60ahcky4k4nfv470juZ:~/code/shell# chmod +x array_length.sh
root@iZuf60ahcky4k4nfv470juZ:~/code/shell# ./array_length.sh
陣列的大小為:5
陣列的大小為:5
參考資料
https://www.runoob.com/linux/linux-shell.html
本文由部落格一文多發平臺 OpenWrite 釋出!