gpt4 book ai didi

mysql - 从其他脚本调用时,Linux 脚本和 MySql 操作不起作用

转载 作者:太空狗 更新时间:2023-10-29 11:32:19 25 4
gpt4 key购买 nike

我已经编写了这段代码,如果不存在,则将行插入到表中,否则,将“cnt”再更新一个。这非常有效,当我从命令行调用它时,当我从 shell 脚本调用它时,这不起作用。

file=$1
echo "$0: Path to store $file" ;
res=`mysql -e "use spam_sending_scripts; select * from spamemailcount where path = '$file' limit 0,1"`
echo $res
if [ -z "$res" ]
then
mysql -e "use spam_sending_scripts; INSERT INTO spamemailcount (cnt,path) VALUES(1,'$file');"
echo "Inserting into DB $file , res $res" ;
exit ;
fi
mysql -e "use spam_sending_scripts; update spamemailcount SET cnt=cnt+1 where path = \"$file\"" ;
echo "Updating into DB $file" ;
#mysql -e "use spam_sending_scripts; select * from spamemailcount" >> /var/log/sendmail.log
mysql -e "use spam_sending_scripts; select * from spamemailcount"

root@server [/home]# insertintodb.sh AAA ==> 这工作正常。

当我从其他脚本调用时,该文件被执行,但插入不起作用。

我这样调用它:/home/insertintodb.sh $path

$path 变量被正确传递给 insertintodb.sh

我收到以下错误:

++ mysql -e 'use spam_sending_scripts; select * from spamemailcount where path = '\''hackerssquadron.com/wp-comments-post.php'\'' limit 0,1'
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

最佳答案

使用chmod命令使其可执行

chmod ugo+x insertinodb.sh

然后尝试按照@Jdamian 建议的方式调用它

bash -x /home/insertintodb.sh "$path"

关于mysql - 从其他脚本调用时,Linux 脚本和 MySql 操作不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27544356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com