【发布时间】:2012-12-15 14:32:19
【问题描述】:
我是 bash /mysql 的新手,但是我在阅读抛出的示例和其他人的问题时发现了很多帮助……但遇到了我自己的问题。 每次将文件添加到特定目录时,我都会尝试在 MySQL 数据库表中插入一行(为此我使用的是 inotifywait )无论如何这是我的 bash 脚本
#!/bin/bash
while true; do
filename= "false"
filename= inotifywait --format "%f" -e create /var/www/media2net/torrent
date_field= date +"%F":"%T"
mysql --host=localhost --user=root --password=admin Media2net << EOF
insert into video (title, description, url_video, upload_date)
values('testing','default_description','$filename', '$date_feild');
EOF
echo $filename
done
据此,我已经通过 echo 验证了变量 $filename 正确保存在 bash 脚本的末尾,但是当我查看表中的条目时,url_video 列具有它的默认值,而不是 $filename 表示的字符串
据我所知,变量$filename 没有通过 EOF
我已经尝试过这里指出http://www.dba-oracle.com/t_access_mysql_with_bash_shell_script.htm
还有这个
Using shell script to insert data into remote MYSQL database
如果我能找到如何将变量传递给查询的任何帮助,将不胜感激
【问题讨论】:
-
=周围不能有空格。这个命令filename= "false"临时将环境变量“filename”设置为空字符串,然后执行名为“false”的程序。