H5W3
当前位置:H5W3 > 其他技术问题 > 正文

php项目中的一个shell脚本

在看一个外包的项目中发现一个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、我可能描述的很不清楚,大神可以继续追问

回答:

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

本文地址:H5W3 » php项目中的一个shell脚本

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址