一、定義數組
在bash中,定義數組需要使用declare命令,並指定-a選項標識數組類型,如下所示:
declare -a my_array
這樣就定義了一個名為my_array的空數組。
如果需要在定義數組時給出數組元素,可以使用以下語法:
declare -a my_array=("apple" "orange" "banana")
這個定義了一個名為my_array的數組,並給出了三個元素”apple”,”orange” 和 “banana”。
二、添加/刪除元素
可以使用+=操作符向數組中添加元素,如下例所示:
declare -a my_array=("apple" "orange" "banana") my_array+=("grape")
這將添加一個新元素”grape” 到數組my_array末尾。
如果需要刪除某個數組元素,可以使用unset命令,如下所示:
declare -a my_array=("apple" "orange" "banana") unset my_array[1]
這將刪除數組my_array中的第2個元素,即”orange”。注意數組下標是從0開始的。
三、訪問元素
可以使用數組名和元素下標來訪問數組中的元素,如下例所示:
declare -a my_array=("apple" "orange" "banana") echo ${my_array[0]}
這將輸出 my_array 數組的第1個元素”apple”。
也可以通過使用 ${my_array[*]}或${my_array[@]}來訪問整個數組,這將返回所有元素,但使用不同的分隔符或引用方式,如下例所示:
declare -a my_array=("apple" "orange" "banana") echo ${my_array[*]} echo ${my_array[@]}
這兩個命令執行的操作相同,都會輸出my_array數組的所有元素”apple”,”orange”,”banana”,但是它們使用不同的分隔符和引用方式。
四、數組長度
通過使用#符號,可以獲取數組的長度,如下所示:
declare -a my_array=("apple" "orange" "banana") echo ${#my_array[@]}
這將輸出my_array數組元素的數量3。
五、示例代碼
下面是一個使用數組的示例程序,它會讀取用戶輸入數據,並將它們存儲在名為my_array的數組中,然後輸出數組元素的總數和每個元素。
#!/bin/bash declare -a my_array echo "Please enter some values (press enter to finish):" while read input; do if [[ -z "$input" ]]; then break fi my_array+=("$input") done echo "Total elements in array: ${#my_array[@]}" echo "Array elements:" for i in "${my_array[@]}"; do echo "- $i" done
運行這個程序,它會提示用戶輸入一些值,按回車鍵結束輸入,然後會輸出數組中元素的總數和每個元素:
Please enter some values (press enter to finish): apple orange banana Total elements in array: 3 Array elements: - apple - orange - banana
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/248089.html