JavaScriptを有効にしてください

【bash】シェル内でヒアドキュメントを使用する

 ·  ☕ 1 分で読めます

【bash】シェル内でヒアドキュメントを使用する

シェル内でヒアドキュメント使用する方法

ヒアドキュメント

最初に ヒアドキュメントは標準出力として扱われる ということです。

試しに以下のように echo してみます。

1
2
3
4
5
6
echo << EOS
1
ab
456
cdef
EOS

こうすると標準出力扱いのため改行のみ出力されます。
以下のようにすると文字列を出力します。

1
2
3
4
5
6
cat<<EOS
1
ab
456
cdef
EOS

変数に使用する

変数にヒアドキュメントを使用する場合 $() , ``\(アクセント), '(シングルクォーテーション), "(ダブルクォーテーション)で囲うと使用できます。 どれも1 ab 456 cdef` と改行がスペースに変えられた状態で出力されます。

カッコ

1
2
3
4
5
6
7
8
9
STR=$(cat << EOS
1
ab
456
cdef
EOS
)

echo ${STR}

バッククォート

1
2
3
4
5
6
7
8
9
STR=`cat << EOS
1
ab
456
cdef
EOS
`

echo ${STR}

シングルクォート

1
2
3
4
5
6
7
8
STR='
1
ab
456
cdef
'

echo ${STR}

ダブルクォーテーション

1
2
3
4
5
6
7
8
STR="
1
ab
456
cdef
"

echo ${STR}

変数内の改行を有効にする

" を使用して変数を展開すると改行が有効になります。

1
2
3
4
5
6
7
8
STR="
1
ab
456
cdef
"

echo "${STR}"

こうすると変数が改行されて展開されます。

1
ab
456
cdef
共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer