Isso criará arr[0]=hy, arr[1]="hello man"
:
declare -a arr=(hy "hello man")
Eu tenho o 'hy "hello man"' como uma string inteira armazenada em uma variável tal que:
echo "$var"
hy "hello man"
Como posso dividi-lo de volta para uma matriz? Eu tentei IFS= IFS=" " readarray
e tudo, exceto a matriz, só resulta em arr[0]="hy "hello man""
e nãoarr[0]=hy, arr[1]="hello man"
Matriz desejada:
arr[0]=hy arr[1]="hello man"
Para fins de teste:
arg () { printf "%d args:" "$#"; [ "$#" -eq 0 ] || printf " <%s>" "$@"; echo; }
arg hy "hello man"
2 args: <hy> <hello man>
Mas
var='hy "hello man"'
arg $t
1 arg: <hy "hello man">
Existe algum truque de citação que possa ajudar com meu problema?