Bash引用数组扩展给出了出乎意料的结果

时间:2019-02-10 12:37:34

标签: bash shell

我有一个shell脚本

#!/bin/bash    
declare -a myargs=(1 2 "3 4")
printf "'%s' " "${myargs[@]}"

可打印

  

'1''2''3 4'(预期结果)

但是,当我将1 2“ 3 4”移至类似变量时

#!/bin/bash
cmd='1 2 "3 4"'
declare -a myargs=($cmd)
printf "'%s' " "${myargs[@]}"

打印

  

'1''2''“ 3''4”'

即数组现在有

arr[0]=1
arr[1]=2
arr[2]="3
arr[3]=4"

这是意外的。 谁能告诉我我要去哪里错了?

0 个答案:

没有答案