私はBashスクリプトに次のコードを書いています。メールに本文を追加するにはどうすればよいですか? 例:本体:出力diff出力とメール本文をメールで送信
diff -q file1 file2 || diff file1 file2 | mail -s "subject" "[email protected]"
私はBashスクリプトに次のコードを書いています。メールに本文を追加するにはどうすればよいですか? 例:本体:出力diff出力とメール本文をメールで送信
diff -q file1 file2 || diff file1 file2 | mail -s "subject" "[email protected]"
あなたは、このようなS-ネイルやmailxのよう添付ファイル、ため-a
を理解mail
プログラムを持っていると仮定すると、
if ! diff -q file1 file2; then
diff file1 file2 > something.diff
echo 'body' | mail -s 'subject' -a something.diff '[email protected]'
rm -f something.diff
fi
あなたが避けるために、バッシュのプロセス置換を使用することができます一時ファイル
diff -q file1 file2 || echo 'body' | mail -s 'subject' -a <(diff file1 file2) '[email protected]'
添付ファイルのファイル名は乱数になります。
これは、私はあなたがmail` `のバージョンは何がありますか
difference=` diff file1 file2 >/dev/null || diff file1 file2`
if [ -n "$difference" ]; then
mail -s " subject " "address" <<EOF
Body here
$difference
Body here
EOF
fi
あなたはそれを好きなら、 '{echo 'Body here'; diff file1 file2;ここにボディをエコーします。 } | mail -s 'subject' 'address''はdiffを文字列としてBashにロードする必要がないので、より優れています。 (もちろん、 'echo'を 'cat << HEREDOC'に置き換えることもできます)。 – ephemient
をやったことありますか? [s-nail](https://www.sdaoden.eu/code.html)のようなものは、ファイルを添付するための '-a'オプションをサポートしています。 – ephemient
sendmail-8.14.4-9.el6_8.1.x86_64 – user3508766
本当ですか?それは 'rpm -qf/usr/bin/mail'が言っていることはできません。' sendmail'はそのバイナリを提供しません。 (それはMTAであり、MUAではありません)。CentOSではおそらく 'mailx'がインストールされています。 – ephemient