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’」として終了文字を囲っています。こうすることにより変数展開を行わなくなります。