Imprimir matriz linha por linha em um documento aqui

1

Atualmente, tenho o seguinte aqui doc

message='cat <<-EOF
Test data:
Test data 1:
"${Test_data_array[@]}"
EOF'
echo "$message"

Existe uma maneira de fazer com que o array exiba várias linhas por entrada como esta linha, mas dentro do documento aqui?

printf '%s\n' "${Test_data_array[@]}"
    
por Shayne Manning 26.01.2016 / 21:25

3 respostas

2

Use IFS e [*] para imprimir a matriz:

OLDIFS="${IFS}"
IFS=$'\n'

message='cat <<-EOF
Test data:
Test data 1:
${Test_data_array[*]}
EOF'

IFS="${OLDIFS}"

echo "$message"
    
por 26.01.2016 / 21:38
2
message='cat <<-EOF
Test data:
Test data 1:
$(printf "%s\n" "${Test_data_array[@]}")
EOF'

echo "$message"
    
por 26.01.2016 / 21:40
1
IFS='
'; message="\
Test data:
Test data 1:
${Test_data_array[*]}
"
    
por 26.01.2016 / 21:46