我目前这里有以下文档
message=`cat <<-EOF
Test data:
Test data 1:
"${Test_data_array[@]}"
EOF`
echo "$message"
有没有办法让数组在每个条目中显示多行,就像这一行,但在此处的文档中?
printf '%s\n' "${Test_data_array[@]}"
答案1
使用IFS
和[*]
打印数组:
OLDIFS="${IFS}"
IFS=$'\n'
message=`cat <<-EOF
Test data:
Test data 1:
${Test_data_array[*]}
EOF`
IFS="${OLDIFS}"
echo "$message"
答案2
message=`cat <<-EOF
Test data:
Test data 1:
$(printf "%s\n" "${Test_data_array[@]}")
EOF`
echo "$message"
答案3
IFS='
'; message="\
Test data:
Test data 1:
${Test_data_array[*]}
"