Linux シェル スクリプトに新しい行を挿入するにはどうすればいいですか? [重複] 質問する

Linux シェル スクリプトに新しい行を挿入するにはどうすればいいですか? [重複] 質問する

複数の echo ステートメントの間に新しい行を挿入したいです。 を試しましたがecho "hello\n"、うまくいきません。 と印刷されます\n。 次のような出力を希望します。

Create the snapshots

Snapshot created

ベストアンサー1

ステートメント間に新しい行を挿入する最も簡単な方法は、引数なしで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、最後にを手動で追加する必要があることに注意してください。printfecho

おすすめ記事