我对shell脚本完全不熟悉,我正试图使用bash将当前日期插入到数据库表中的列中。
以下是我到目前为止所做的:

CREATE TABLE DiskUsage (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, DiskUsage VARCHAR(50), DateOfUsage DATETIME);

已在DiskUsage数据库中成功创建表shelltest
现在,我正尝试使用shell脚本在该表中插入值:
dateOfUse=$(TZ=EEST date)
echo "Date: $dateOfUse"
$(df -h > t.txt)
while read Filesystem Size Used Avail Use Mounted on
do
    mysql shelltest -e "insert into DiskUsage (DiskUsage, DateOfUsage) values ('$Use', '$dateOfUse')"
done < t.txt

但是当我尝试执行这个脚本时,DateOfUsage的日期值被插入如下:
0000-00-00 00:00:00所有记录。
有人能告诉我错在哪里吗?
谢谢:)

最佳答案

默认情况下,Date不显示您需要的格式,您需要给出格式说明

# date
Fri Apr 25 12:38:45 BST 2014

# date +'%F %T'
2014-04-25 12:38:45

所以在你的剧本里
dateOfUse=$(TZ=EEST date +'%F %T')

10-07 22:15