通过mysql bash发送电子邮件
问题描述:
我有一个查询将结果发送到电子邮件。如果查询没有结果,我不想发送电子邮件。我怎样才能做到这一点 ?通过mysql bash发送电子邮件
继承人的代码
mysql -umy -hmysql1.com -P2 -pmysq <<<" Select * from Data.data "| mail -aFrom:[email protected] -s 'test' [email protected]
答
并不是每一个任务都可以轻松地在一个命令管道来完成。试图将其强制为一行可能会使代码难以维护。
随意写一个脚本的一些声明:
result=`mysql -umy -hmysql1.com -P2 -pmysq -e " Select * from Data.data "`
if [ -n "$result" ]
then
echo "$result" | mail -aFrom:[email protected] -s 'test' [email protected]
fi
的-n
测试字符串是非零长度。阅读http://linuxcommand.org/lc3_man_pages/testh.html了解更多详情。
回复您的评论:
我上面显示的语句是事情,你可以输入在bash的命令行。 Bash支持变量和“if/then/else”构造等等。
写一个bash脚本很容易。您可以在命令行中键入的任何内容都可以在文件中。打开一个文本编辑器,并写上我在上面显示的行。保存文件。例如,它可以被称为“mailmyquery.sh”(.sh扩展名只是习惯用法,并不是必需的)。
退出文本编辑器。然后运行:
bash mailmyquery.sh
,它运行在文件中的语句,如果你已在命令行自己写他们。
Voilà!你现在是一个shell脚本程序员!
我不知道如何在脚本中运行此代码?我只是使用bash脚本 – rchcoffey
我尝试使用PHP脚本,但我仍然无法让代码工作 – rchcoffey
iam在第1行出现此错误ERROR 1064(42000):您的SQL语法中有错误;检查与你的MySQL服务器版本相对应的手册,在第1行的''附近使用正确的语法。 – rchcoffey