【bash】シェル内でヒアドキュメントを使用する
【bash】シェル内でヒアドキュメントを使用する
シェル内でヒアドキュメント使用する方法
ヒアドキュメント
最初に ヒアドキュメントは標準出力として扱われる ということです。
試しに以下のように echo してみます。
echo << EOS
1
ab
456
cdef
EOS
こうすると標準出力扱いのため改行のみ出力されます。 以下のようにすると文字列を出力します。
cat<<EOS
1
ab
456
cdef
EOS
変数に使用する
変数にヒアドキュメントを使用する場合 $() , ``\(アクセント), ’(シングルクォーテーション), “(ダブルクォーテーション)で囲うと使用できます。 どれも1 ab 456 cdef` と改行がスペースに変えられた状態で出力されます。
カッコ
STR=$(cat << EOS
1
ab
456
cdef
EOS
)
echo ${STR}
バッククォート
STR=`cat << EOS
1
ab
456
cdef
EOS
`
echo ${STR}
シングルクォート
STR='
1
ab
456
cdef
'
echo ${STR}
ダブルクォーテーション
STR="
1
ab
456
cdef
"
echo ${STR}
変数内の改行を有効にする
" を使用して変数を展開すると改行が有効になります。
STR="
1
ab
456
cdef
"
echo "${STR}"
こうすると変数が改行されて展開されます。
1
ab
456
cdef