陣列分配
列表分配
如果你熟悉 Perl,C 或 Java,你可能會認為 Bash 會使用逗號分隔陣列元素,但事實並非如此; 相反,Bash 使用空格:
# Array in Perl
my @array = (1, 2, 3, 4);
# Array in Bash
array=(1 2 3 4)
使用新元素建立陣列:
array=('first element' 'second element' 'third element')
下標分配
建立一個具有顯式元素索引的陣列:
array=([3]='fourth element' [4]='fifth element')
按索引分配
array[0]='first element'
array[1]='second element'
按名稱分配(關聯陣列)
Version >= 4
declare -A array
array[first]='First element'
array[second]='Second element'
動態分配
從其他命令的輸出建立一個陣列,例如使用 seq 獲取 1 到 10 的範圍:
array=(`seq 1 10`)
指令碼輸入引數的賦值:
array=("$@")
迴圈中的賦值:
while read -r; do
#array+=("$REPLY") # Array append
array[$i]="$REPLY" # Assignment by index
let i++ # Increment index
done < <(seq 1 10) # command substitution
echo ${array[@]} # output: 1 2 3 4 5 6 7 8 9 10
其中 $REPLY
始終是當前輸入