通过mysql bash

时间:2017-01-02 18:17:13

标签: mysql email

我有一个查询将结果发送到电子邮件。如果查询没有结果,我不想发送电子邮件。我怎样才能做到这一点 ?

继承人的代码

mysql -umy -hmysql1.com -P2 -pmysq <<<" Select * from Data.data "| mail -aFrom:test@test.com -s 'test' test@gmail.com

1 个答案:

答案 0 :(得分:0)

并非每个任务都可以在单个命令管道中轻松完成。试图将其强行插入单行内容会使代码难以编码并难以维护。

随意在脚本中写一些语句:

result=`mysql -umy -hmysql1.com -P2 -pmysq -e " Select * from Data.data "`
if [ -n "$result" ]
then
    echo "$result" | mail -aFrom:test@test.com -s 'test' test@gmail.com
fi

-n测试用于非零长度的字符串。有关详细信息,请阅读http://linuxcommand.org/lc3_man_pages/testh.html

重新评论:

我在上面显示的语句是你可以在bash命令行输入的内容。 Bash支持变量和“if / then / else”结构等等。

编写bash脚本很容易。您可以在命令行键入的任何内容都可以在文件中。打开文本编辑器并写下我在上面显示的行。保存文件。例如,它可以被称为“mailmyquery.sh”(.sh扩展只是习惯性的,它不是必需的。)

退出文本编辑器。然后运行:

bash mailmyquery.sh

它运行文件中的语句,就像您在命令行中自己编写它们一样。

瞧!您现在是一个shell脚本程序员!