我正在尝试创建一个 bash 脚本,用于将值输入到 mySQL 数据库中。最终目标是使用 smartmontools 收集有关硬盘驱动器的数据,但我遇到了很多错误,因此我决定将其分解并从非常简单的开始。我是 bash/mySQL 的菜鸟。我的测试数据库现在只包含一个包含 USER 和 DATE 的表。 这是我的 bash 脚本:
USR=$USER
DATE=$(date +%y%m%d)
mysql -hlocalhost -uuser -ppw -Dtest<<EOF INSERT INTO testtbl (USER, DATE) VALUES('$USR', $DATE);
EOF
exit
这是我收到的错误信息:
./ysmartmon: line 4: syntax error near unexpected token `('
./ysmartmon: line 4: `mysql -hlocalhost -uuser -ppw -Dtest<<EOF INSERT INTO testtbl (USER, DATE) VALUES('$USR', $DATE);'
我做错了什么?是这个`我需要摆脱吗?但我该怎么做呢?
最佳答案
在<< EOF
之后换行,像这样:
mysql -hlocalhost -uuser -ppw -Dtest << EOF
INSERT INTO testtbl (USER, DATE) VALUES('$USR', $DATE);
EOF
这<< EOF
构造称为此处文档,
您可以在 man bash
中阅读更多相关信息.
在 man bash
中搜索此内容,
输入 /here-doc
然后按 Enter。
关于php - 如何使用 bash 脚本在 MySQL 中赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40574751/