我有要存储到数组中的东西的列表。该列表是一系列分割awk操作的输出:
Array=$(ls -ld /sys/block/sd*/device | awk -F'/' '{print $1}')
命令
$ ls -ld /sys/block/sd*/device | awk -F'/' '{print $1}'
将返回(例如)
0
1
如果我想将结果存储到一个数组中,使得每个数字都是一个元素,则应通过以下方式访问它:
echo ${Array[0]}
echo ${Array[1]}
但是,第二个命令什么也不返回,而第一个命令返回
0 1
我原本希望结果是
Array[0] = 0
Array[1] = 1
我在哪里做错了?谢谢。
您将结果存储在单个变量中,而不是数组中。将其更改为使用复合分配:
Array=($(ls -ld /sys/block/sd*/device | awk -F'/' '{print $1}'))
(注意周围有多余的括号)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句