mailx
のオプションをサポートしていないシステム (rhel5) があり-E
ます (本文が空の場合に電子メールを送信しないため)。この機能をシミュレートするために使用できるライナーはありますか? たとえば、最初は送信しますが、2 番目は送信しません
echo 'hello there' | blah | mailx -s 'test email' me@you.com
echo '' | blah | mailx -s 'test email' me@you.com
パイプするプログラムではなく、トリックで試すことができます。
msg='hello there' && [ -n "$msg" ] && echo "$msg" | mailx -s 'test email' me@you.com
メッセージが別のスクリプトから来ている場合は、次のように実行する必要があります
msg="$(get_it)" && [ -n "$msg" ] && echo "$msg" | mailx -s 'test email' me@you.com
がサポートされていない場合[ ... ]
は、次も使用できます[[ ... ]]
。
msg="$(get_it)" && [[ -n "$msg" ]] && echo "$msg" | mailx -s 'test email' me@you.com