ビットの海

ゆるふわソフトウェアエンジニアしゃぜのブログ

zsh の ヒアドキュメントを変数に入れる

いつも忘れるので

 $ cat foobar.zsh
#!/bin/zsh

FOO="BBB"

FOOBAR=`cat << EOF

aaa
${FOO}
ccc

EOF`

echo ${FOOBAR}

実行

 $ zsh foobar.zsh

aaa
BBB
ccc

おまけ

バッククオート(backquote)を escape して表示させたい。これもいつも忘れる。

$ cat foobar.zsh
#!/bin/zsh

FOO="BBB"

FOOBAR=`cat << EOF

aaa
${FOO}
ccc
\\\`DDD\\\`

EOF`

echo ${FOOBAR}

実行

$ zsh foobar.zsh

aaa
BBB
ccc
`DDD`