Arrays bash数组+;如何在bash数组中设置变量
我们使用sdb-sdz范围设置“list”变量Arrays bash数组+;如何在bash数组中设置变量,arrays,linux,bash,shell,awk,Arrays,Linux,Bash,Shell,Awk,我们使用sdb-sdz范围设置“list”变量 # MAX=z # list=$(eval echo sd{b..$MAX}) # echo $list sdb sdc sdd sde sdf sdg sdh sdi sdj sdk sdl sdm sdn sdo sdp sdq sdr sds sdt sdu sdv sdw sdx sdy sdz 直到现在还可以 现在我们在数组中设置$list如下 #array=( echo $list ) 但当我们打印数组的第一个值时,会得到“echo
# MAX=z
# list=$(eval echo sd{b..$MAX})
# echo $list
sdb sdc sdd sde sdf sdg sdh sdi sdj sdk sdl sdm sdn sdo sdp sdq sdr sds sdt sdu sdv sdw sdx sdy sdz
直到现在还可以
现在我们在数组中设置$list如下
#array=( echo $list )
但当我们打印数组的第一个值时,会得到“echo”
这里怎么了
预期成果:
#echo ${array[0]}
sdb
#echo ${array[1]}
sdc
#echo ${array[2]}
sdc
或
array=(echo$list)
使用echo
填充array
,然后在分词、文件名、扩展等之后填充$list
的内容。谷歌如何使用数组、shell引用规则、$(foo)
vs(foo)
等。或者执行数组=($list)
、数组=($(echo$list))
但后者不是最佳做法。(实际上两者都不是!)直接分配数组即可。
#echo ${array[0]}
sdb
#echo ${array[1]}
sdc
#echo ${array[2]}
sdc
# echo "${list[counter++]}"
$ max=z
$ list=( $(eval echo sd{b..$max}) )
$ echo "${list[*]}"
sdb sdc sdd sde sdf sdg sdh sdi sdj sdk sdl sdm sdn sdo sdp sdq sdr sds sdt sdu sdv sdw sdx sdy sdz
$ echo "${list[1]}"
sdc