Bash 阵列分配
示例
清单分配
如果您熟悉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'
按名称分配(关联数组)
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当前输入始终在哪里