我有一个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"
这是意外的。 谁能告诉我我要去哪里错了?