从命令输出填充数组,引号确定元素

时间:2019-04-15 11:20:38

标签: bash

我想通过保留像这样的元素周围的引号来填充命令输出中的数组:

$ array1=("one.1 one.2" two)
$ echo ${array1[0]}
one.1 one.2

但是任何命令输出都会给出不同的结果,此处复制为echo

$ array1=($(echo '"one.1 one.2" two'))
$ echo ${array1[0]}
"one.1

1 个答案:

答案 0 :(得分:0)

可以使用eval解决此问题:

$ eval "array1=("$(echo '"one.1 one.2" two')")"
$ echo ${array1[0]}
one.1 one.2