wewe22 发表于 2015-1-12 08:55:55

检查整个目录php语法错误脚本

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#! /bin/bash
#
# check_php_syntax.sh
# Copyright (C) 2014
#
# 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



页: [1]
查看完整版本: 检查整个目录php语法错误脚本