ここで文書の配列を1行ずつ印刷します。

ここで文書の配列を1行ずつ印刷します。

現在、ここに次の文書があります。

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[*]}
"

関連情報