bash文字列に改行文字を追加するには? [コピー]

bash文字列に改行文字を追加するには? [コピー]

次のbash文字列があり、「Hello」文字列の前に改行を追加する必要があります。

bash -c "echo 'Hello' > /location/file"

\n二重引用符の前、二重引用符内、別のエスケープバリアントを使用して、異なる構文バリアントを使用して追加しました。

「Hello」文字列の前に改行を追加して2行目に表示するにはどうすればよいですか?

ベストアンサー1

これには(少なくとも)3つのオプションがあります。

  1. リテラルの改行を使用してください。
bash -c "echo '
Hello' > /location/file"
  1. コマンド自体の一部としてバックスラッシュエスケープ文字を拡張する使用printf(または非標準)(両方ともシェル組み込み):echo -e
bash -c "printf '\n%s\n' Hello > /location/file"
  1. $'バックスラッシュエスケープ文字をシェルの一部に拡張するbashの非標準引用を使用してください。
bash -c "echo $'\nHello' > /location/file

おすすめ記事