Home > php教程 > php手册 > body text

shell 脚本检查某目录下php文件语法

WBOY
Release: 2016-05-25 16:44:30
Original
1171 people have browsed it

利用php的自带检查文件方法 php -l 来使用shell 批量检查某目录下的文件,每次写完脚本都要 php -l 一下,看看有没有发生低级的语法错误,(疏忽过导致事故),写了个简单的shell 脚本批量检查目录下的 php文件语法,代码如下:

check_php_syntax.sh

#!/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 
temp_file="/tmp/file$$" 
#echo $temp_file 
ls -R $directory | awk  ' 
    BEGIN{ 
        FS="n"     
        folder="'$directory'" 
        logname="'$temp_file'" 
    } 
    { 
        if($0~/.php$/){ 
            system("php -l " folder "/" $0  "   >>  " logname  " 2>&1")   
        } 
        if($0~/:$/){ 
            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
Copy after login

        } 

    ' 

else 

    echo "php file not found." 

    exit; 

fi 

使用,例如,代码如下:

./check_php_syntax /home/liuzhichao/test/

输出:

错误文件:2个

错误行数:

PHP Parse error:  syntax error, unexpected T_VARIABLE in /home/liuzhichao/test/awktest/a.php on line 3

PHP Parse error:  syntax error, unexpected T_STRING, expecting ')' in /home/liuzhichao/test/levelcity.php on line 19


教程地址:

欢迎转载!但请带上文章地址^^

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!