【发布时间】:2019-10-09 09:49:30
【问题描述】:
我想为我的 FreePBX 创建一个 cron 脚本。如果我从终端连接到 mysql,它会这样工作:
mysql -u user -ppasswd table
UPDATE kvstore SET val='$HOST' where `key`="externip";
但在这样的脚本中:
mysql -u user -ppasswd table -e "UPDATE kvstore SET val='$HOST' where `key`="externip";";
它返回我:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '=externip' at line 1
例如我有这个脚本没有问题,因为脚本内没有双引号:
mysql -u user -ppasswd table -e "UPDATE sipsettings SET data = '$HOST' WHERE sipsettings.keyword = 'externip_val' AND sipsettings.seq = 40 AND sipsettings.type = 0;";
我尝试了所有可以将 \" 作为引号的方法,但没有找到解决方案。
如果有人可以帮助我,谢谢您的回答!
【问题讨论】:
标签: mysql bash double-quotes cron-task quote