其实也可以检查其他语言的语法错误,把代码内的php -l 换了就行
#! /bin/bash
#
# check_php_syntax.sh
# Copyright (C) 2014 <http://superfly81.blog.51cto.com/>
#
# Distributed under terms of the MIT license.
#
#!/bin/bash
# check php syntax
if [ $# -lt 1 ];then
echo 'Usage: ' $0 'directory';
exit
fi
if [ ! -d $1 ];then
echo $1 'not a directory,please check!';
exit
fi
directory=$1
echo $directory
temp_file="/tmp/file$$"
echo $temp_file
ls -R $directory | awk '
BEGIN{
FS="n"
folder="'$directory'"
logname="'$temp_file'"
temp=""
}
{
if($0~/.php$/){
system("php -l " folder "/" $0 " >> " logname " 2>&1")
}
if($0~/:$/){
temp=substr($0,1,length($0)-1)
folder=temp
}
}
'
#folder=substr($1,1,length($1)-1)
if [ -e $temp_file ];then
cat $temp_file | awk '
BEGIN{
error = 0
}
{
if($0~/Parse/) {
error++
errorfile[$0] = $0
}
}
END{
print "错误文件:" error "个"
if(length(errorfile)>0) print "错误行数:"
for (i in errorfile)
print i
}
'
else
echo "php file not found."
exit;
fi