檢查整個目錄php語法錯誤腳本

其實也可以檢查其他語言的語法錯誤,把代碼內的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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章