複数行の文字列を割り当てると、FOO
期待どおりに機能します。
$ read -d '' FOO <<"EOF"
> the content
> EOF
$ echo $FOO
the content
$ python -c "import os; print os.environ.get('FOO')"
the content
一見同じことがFOO_BAR_BAZ
動作が異なります:
$ read -d '' FOO_BAR_BAZ <<"EOF"
> the content
> EOF
$ echo $FOO_BAR_BAZ
the content
$ python -c "import os; print os.environ.get('FOO_BAR_BAZ')"
None
微妙な間違いか誤解があります。