awscliのバージョン1.0で
軽い文章とシェルコマンドの実行結果を
メールの本文で送りたいときに
軽くはまったのでメモ。
awscliにshell形式のヒアドキュメントを
渡しても引数が正しく解釈されずにエラーになる。
$ aws ses send-mail --from hoge@mail.com --to fuga@mail.com --subject 'タイトル' --text <<CODE
こんなにいっぱい
`df -h # shell script here`
CODE
usage: aws [options] <command> <subcommand> [parameters]
aws: error: argument --text: expected one argument
awscliはPythonでできているためPythonの形式で
ヒアドキュメントを渡してあげると無事出力される。
aws ses send-mail --subject "タイトル" --text """\
こんなにいっぱい
`df -h # shell script here`
"""
ただしコマンドの実行結果を本文に紛れ込ませたいときは
シェルと同様にバッククォートで埋め込まないと
認識してくれない。謎。