Bash の複数行の文字列
-
Bash で
ヒアドキュメント
を使用して複数行の文字列を作成する - Bash でシェル変数を使用して複数行の文字列を作成する
-
Bash で
printf
を使用して複数行の文字列を作成する -
Bash で
-e
オプションでecho
を使用して複数行の文字列を作成する -
Bash で
echo
を使用して複数行の文字列を作成する
このチュートリアルでは、here-document
、シェル変数、printf
、echo
、および echo
を使用して、余分なスペース(インデント)を入れずに bash で複数行の文字列をファイルに出力するさまざまな方法を示します。-e
オプション。
Bash でヒアドキュメント
を使用して複数行の文字列を作成する
ヒアドキュメント
は、ファイルに複数行の文字列を入力するインタラクティブな方法を提供します。EOF
は Here 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
!