Bash の複数行の文字列

Fumbani Banda 2023年1月30日
  1. Bash でヒアドキュメントを使用して複数行の文字列を作成する
  2. Bash でシェル変数を使用して複数行の文字列を作成する
  3. Bash で printf を使用して複数行の文字列を作成する
  4. Bash で -e オプションで echo を使用して複数行の文字列を作成する
  5. Bash で echo を使用して複数行の文字列を作成する
Bash の複数行の文字列

このチュートリアルでは、here-document、シェル変数、printfecho、および echo を使用して、余分なスペース(インデント)を入れずに bash で複数行の文字列をファイルに出力するさまざまな方法を示します。-e オプション。

Bash でヒアドキュメントを使用して複数行の文字列を作成する

ヒアドキュメントは、ファイルに複数行の文字列を入力するインタラクティブな方法を提供します。EOFHere Tag として知られています。Here Tag は、区切り文字として機能するため、Here Tag まで複数行の文字列を入力することをシェルに通知します。<<Here Tag を設定するために使用されます。> は入力リダイレクトに使用されます。この場合、入力を指定されたファイル output.txt にリダイレクトします。

cat << EOF > output.txt
> Hello
> World
> !
> EOF

cat コマンドで output.txt ファイルの内容を確認しましょう。

cat output.txt

出力から、単語のすべてのセットに独自の行があり、余分なスペースがないことがわかります。

Hello
World
!

Bash でシェル変数を使用して複数行の文字列を作成する

ここでは、greet という名前のシェル変数を使用しています。greet に複数行の文字列を割り当てました。

greet="Hello
> ,
> wolrd
> !"

以下のコマンドは、シェル変数 greet の複数行の文字列を取得し、> を使用して指定されたファイル multiline.txt にリダイレクトします。

echo "$greet" > multiline.txt

cat コマンドで multiline.txt の内容を確認してください。

cat multiline.txt

出力から、単語のすべてのセットに独自の行があり、余分なスペースがないことがわかります。

Hello
,
wolrd
!

Bash で printf を使用して複数行の文字列を作成する

改行文字で printf を使用し、> を使用して出力をファイルにリダイレクトできます。ファイルの内容に余分なスペースはありません。

#!/bin/bash

printf "Every word is on a seperate line!\n"
printf "%s\n" "Hello" "," "World" "!" > multiline.txt

出力:

Every word is on a separate line!

cat コマンドを使用して、multiline.txt の内容を出力します。

cat multiline.txt

出力から、単語のすべてのセットに独自の行があり、余分なスペースがないことがわかります。

Hello
,
World
!

Bash で -e オプションで echo を使用して複数行の文字列を作成する

次の bash スクリプトは、余分なスペースを入れずに単語を multiline.txt に出力します。-e オプションを使用すると、変数 greet のエスケープ文字を解釈できます。

#!/bin/bash

greet="Hello\n,\nWorld\n!"
echo -e $greet > multiline.txt

cat コマンドで multiline.txt の内容を出力します

cat multiline.txt

出力から、単語のすべてのセットに独自の行があり、余分なスペースがないことがわかります。

Hello
,
World
!

Bash で echo を使用して複数行の文字列を作成する

以下のスクリプトは、greet という名前の変数に複数行の文字列を割り当てます。次に、変数のコンテンツは、> を使用して multiline.txt ファイルにリダイレクトされます。greet 変数の引用符は、新しい行を保持します。

#!/bin/bash

greet="Hello
,
World
!"
echo "$greet" > multiline.txt

cat コマンドで multiline.txt の内容を表示します。

cat multiline.txt

出力から、単語のすべてのセットに独自の行があり、余分なスペースがないことがわかります。

Hello
,
World
!
著者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

関連記事 - Bash String