如何使用bash脚本在MySQL中设置值


How to values in MySQL with bash script

我试图创建一个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结构被称为here-document,你可以在man bash中了解更多。要在man bash中搜索它,输入"/here-doc",按"Enter"。