But*_*kus 8 php bash shell exit-code
我有一个bash shell脚本,可以像这样调用一些PHP脚本.
#!/bin/bash
php -f somescript.php
php -f anotherscript.php
Run Code Online (Sandbox Code Playgroud)
我想根据这些脚本的结果撰写错误日志和/或活动报告.
有什么办法可以在shell脚本中获取php脚本的退出状态吗?
我可以使用整数退出状态或字符串消息.
Emi*_* P. 13
您可以使用反引号运算符轻松捕获输出,并使用$获取最后一个命令的退出代码?:
#!/bin/bash
output=`php -f somescript.php`
exitcode=$?
anotheroutput=`php -f anotherscript.php`
anotherexitcode=$?
Run Code Online (Sandbox Code Playgroud)
埃米利奥的回答很好,但我想我可以为其他人扩展一下。如果你愿意的话,你可以在 cron 中使用这样的脚本,如果出现错误,它会通过电子邮件发送给你.. YAY :D
#!/bin/sh
EMAIL="myemail@foo.com"
PATH=/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/bin
export PATH
output=`php-cgi -f /www/Web/myscript.php myUrlParam=1`
#echo $output
if [ "$output" = "0" ]; then
echo "Success :D"
fi
if [ "$output" = "1" ]; then
echo "Failure D:"
mailx -s "Script failed" $EMAIL <<!EOF
This is an automated message. The script failed.
Output was:
$output
!EOF
fi
Run Code Online (Sandbox Code Playgroud)
使用php-cgias 命令(而不是php)可以更轻松地将 url 参数传递给 php 脚本,并且可以使用常用的 php 代码来访问这些参数,例如:
$id = $_GET["myUrlParam"];
| 归档时间: |
|
| 查看次数: |
9071 次 |
| 最近记录: |