其实也可以检查其他语言的语法错误,把代码内的php -l 换了就行

#!/bin/bash##check_php_syntax.sh#Copyright(C)2014<http://superfly81.blog.51cto.com/>##DistributedundertermsoftheMITlicense.##!/bin/bash#checkphpsyntaxif[$#-lt1];thenecho'Usage:'$0'directory';exitfiif[!-d$1];thenecho$1'notadirectory,pleasecheck!';exitfidirectory=$1echo$directorytemp_file="/tmp/file$$"echo$temp_filels-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];thencat$temp_file|awk'BEGIN{error=0}{if($0~/Parse/){error++errorfile[$0]=$0}}END{print"错误文件:"error"个"if(length(errorfile)>0)print"错误行数:"for(iinerrorfile)printi}'elseecho"phpfilenotfound."exit;fi