bash プログラミング:ヒアドキュメント

例えば複数行の説明文やプログラムソース表示したい場合などに、それらを変数に代入することがあります。

そこで今回は、ヒアドキュメントの扱いなどについて説明します。


ヒアドキュメントを変数に代入して表示(変数展開あり)

$ MESSAGE=$( cat <<-EOT
    これは複数行の文字列です。
    そして変数に代入しています。pwd is $( pwd )
EOT
)
$ echo "${MESSAGE}"
    これは複数行の文字列です。
    そして変数に代入しています。pwd is /home
$

「cat <<-EOT」としてヒアドキュメント指示に「-」を用いています。こうすることによりインデントが自由に行えます。

表示の時に「echo “${MESSAGE}”」として変数をダブルコーテーションで囲っています。(必須)


ヒアドキュメントを変数に代入して表示(変数展開なし)

$ MESSAGE=$( cat <<-'EOT'
    これは複数行の文字列です。
    そして変数に代入しています。pwd is $( pwd )
EOT
)
$ echo "${MESSAGE}"
    これは複数行の文字列です。
    そして変数に代入しています。pwd is $( pwd )
$ 

表示の時に「echo “${MESSAGE}”」として変数をダブルコーテーションで囲っています。(必須)

「cat <<-‘EOT’」としてヒアドキュメント指示に「-」を用いています。こうすることによりインデントが自由に行えます。

「cat <<-‘EOT’」として終了文字を囲っています。こうすることにより変数展開を行わなくなります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です