为了账号安全,请及时绑定邮箱和手机立即绑定

php项目中的一个shell脚本

php项目中的一个shell脚本

PHP
慕村225694 2019-03-11 19:54:25
在看一个外包的项目中发现一个shell文件,内容为: #!/bin/bash if [[ -f 'a.txt' ]] then unlink 'a.txt' fi pushurl='https://test.cn//Home/AppCoupon/pushMsg?majorID=' database='/usr/local/mysql/bin/mysql -uaacoupon -pe4oo23gUnj7cipeubj' sql="select majorID,openID,ispush,id,cash_fee from a_order where ispush=0 " #sql="select CONCAT(majorID.'|'.openID.'|'.ispush) from a_order" #sql="select CONCAT(majorID,openID,ispush) from a_order" res=`$database aacoupon -e "$sql"|awk 'NR>1'|awk '{print $0","}'` echo $res>a.txt sed -i "s#, #\n#g" a.txt sed -i "s#,##g" a.txt cat a.txt|while read line do majorID=`echo $line|awk -F" " '{print $1}'` openID=`echo $line|awk -F" " '{print $2}'` ispush=`echo $line|awk -F" " '{print $3}'` id=`echo $line|awk -F" " '{print $4}'` cash_fee=`echo $line|awk -F" " '{print $5}'` ok=`curl -s $pushurl$majorID"&openID="$openID"&price="$cash_fee` updatesql="update a_order set ispush=1 where id=$id" $database aacoupon -e "$updatesql" done 查了很久linux命令,大致明白了进行了什么操作:1、判断文件是否为普通文件,是则删除2、进行sql操作,将结果集按一定格式输出到a.txt中3、处理a.txt文件,将','和', '替换4、按行读取循环a.txt文件中的内容,将每一行中的5个字段赋值到5个变量,然后进行curl请求(这里请求了一个微信小程序的推送消息的方法),最后更新数据库我大概明白了这个shell脚本是循环推送消息,可是我还是不太清楚这个shell脚本怎么去用,是要在服务器设置定时器调用这个shell脚本吗?还是做如何使用的?我能提供的信息:1、这是一个微信小程序的后台中的一个shell文件2、后台是基于tp3.2框架3、我可能描述的很不清楚,大神可以继续追问
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

手动执行和定时任务都可以

查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 403 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信