1. ホーム
  2. linux

[解決済み] Linuxのシェルスクリプトで改行する方法は?重複

2022-07-05 13:37:29

質問

複数のecho文の間に改行を挿入したい。試しに echo "hello\n" を試してみましたが、うまくいきません。表示されるのは \n . 私はこのような望ましい出力が欲しいです。

Create the snapshots

Snapshot created

どのように解決するのですか?

の間に改行を挿入する最も簡単な方法です。 echo ステートメントの間に改行を挿入する最も簡単な方法は echo を引数なしで挿入することです。

echo Create the snapshots
echo
echo Snapshot created

ということです。 echo を引数なしで実行すると、空行が表示されます。

もう一つの方法として、単一の echo ステートメントで -e フラグと埋め込まれた改行文字 \n :

echo -e "Create the snapshots\n\nSnapshot created"

しかし,これはポータブルではありません. -e フラグがすべてのシステムで一貫して動作するわけではないからです。本当にそうしたいのであれば、よりよい方法として printf :

printf "Create the snapshots\n\nSnapshot created\n"

これはPOSIX準拠ではありませんが、多くのシステムでより確実に動作します。注意することは、手動で \n を最後に追加しなければならないことに注意してください。 printf のように自動的に改行が追加されるわけではありません。 echo のように自動的に改行されることはありません。