加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – shell脚本 – 解释代码

发布时间:2020-12-13 17:14:53 所属栏目:PHP教程 来源:网络整理
导读:我只是 shell脚本的初学者.我正在读我的同事的代码,我不知道下面代码的含义是什么.任何人都可以帮助我解释下面代码的含义,特别是RESULT行. #!/bin/bashDATETIME=$(date);LOGFILE="/var/www/ema/services/generate.log";ENDRESULT="DONE";RESULT=$(curl -s 12
我只是 shell脚本的初学者.我正在读我的同事的代码,我不知道下面代码的含义是什么.任何人都可以帮助我解释下面代码的含义,特别是RESULT行.

#!/bin/bash
DATETIME=$(date);
LOGFILE="/var/www/ema/services/generate.log";
ENDRESULT="DONE";

RESULT=$(curl -s 127.0.0.1/services/generatereport.php);

if [[ "$RESULT" =~ "$ENDRESULT" ]]; then
    RESULT="Generation Ended";
    echo "["$DATETIME"]"$RESULT >> $LOGFILE;
else
    echo "["$DATETIME"]"$RESULT >> $LOGFILE;
    /var/www/ema/services/generate.sh;  
fi

该脚本的文件名是generate.sh

解决方法

这一行RESULT = $(curl -s 127.0.0.1/services/generatereport.php);使用 cURL加载资源,在本例中是文件generatereport.php.更新:它基本上执行命令curl,它从服务器请求文件.选项-s是静默模式,以避免任何错误消息或进度条.从curl文档:

-s,–silent

Silent or quiet mode. Don’t show progress meter or error messages. Makes Curl mute.

由于使用的IP地址是127.0.0.1(localhost),他只是从localhost中的文件夹服务执行该文件.文件的输出存储在变量RESULT中.

下一个if语句[[“$RESULT”=?“$ENDRESULT”]];将RESULT的结尾与变量ENDRESULT的值进行比较,该变量是“DONE”,在这种情况下,报告生成已完成,并且将句子“Generation Ended”存储在日志文件中,如“[Date] Generation Ended”.

日志文件位于/var/www/ema/services/generate.log中

在第二种情况下,它还将generatereport.php的输出存储在日志文件中,尽管这次它还调用位于/var/www/ema/services/generate.sh的shell脚本文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读