我试图创建一个运行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 –
=和变量名周围不能有空格mySqlQuery。
另外,我建议您将变量用双引号引起来,即使用“ $ host”而不是仅使用$ host。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。