変数間に改行を追加する

変数間に改行を追加する

2つのUnix変数の間に改行文字(\ n)を追加するには?

以下を試しましたが、別の行ではなく1行として印刷されます。

h=hello
w=world
c="$h"$'\n'"$w"
echo $c
Output: hello world

答え1

$cあなたのソリューションはうまくいきますが、望む方法で拡張するには、echoステートメントでそれを参照する必要があります。

このように:

h=hello
w=world
c="$h"$'\n'"$w"
echo "$c"

しかし、これはほぼ確実にxyの問題です。最終的に達成すべきことは何ですか?

実際には、次のようにする方が良いです。

h=hello
w=world
printf '%s\n' "$h" "$w"

または、次の-eオプションを使用してエコーできます。

h=hello
w=world
c="${h}\n${w}"
echo -e "$c"

関連情報