开发者社区> 问答> 正文

mysql bash shell脚本输出错误

我试图创建一个运行sql查询的bash shell脚本,然后再创建一个在特定时间运行它的cronjob。

我创建了bash脚本,请参见下文

mysql -u $host -D $dbname -u $user -p$password -e $mySqlQuery 我将-u -D -p -e全部包装在变量中。我也将其更改为可执行文件。当我运行它。它给出了输出说明。没有找到指令。谁能告诉我我犯的错误?

以下是bash脚本

host="host"
user="user"
dbname="database"
password="password"
mySqlQuery = "SELECT *
FROM invoice i
  JOIN item it
    ON it.invoice_id = i.id
  JOIN user u
    ON i.user_id = u.id
  JOIN gateway_response gr
    ON gr.invoice_id = i.id

WHERE  i.created_at >= '2019-03-01 00:00:00' and
i.created_at <= '2019-03-17 23:59:59' and i.status=9"

mysql -u $host -D $dbname -u $user -p$password -e $mySqlQuery

下面是我运行它时收到的错误。

/home/chris2kus/givingDetectRun.sh: line 8: mySqlQuery: command not found /home/chris2kus/givingDetectRun.sh: line 20: mysql: command not found –

展开
收起
祖安文状元 2020-01-05 19:00:45 480 0
1 条回答
写回答
取消 提交回答
  • =和变量名周围不能有空格mySqlQuery。

    另外,我建议您将变量用双引号引起来,即使用“ $ host”而不是仅使用$ host。

    2020-01-05 19:00:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
阿里云MySQL云数据库产品体系介绍 立即下载
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载

相关镜像