好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

shell 脚本检查某目录下php文件语法 - php高级应用

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

利用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          }      '  else        echo   "php file not found."        exit ;  fi 

使用,例如,代码如下:

./check_php_syntax /home/liuzhichao/test/

输出:

错误文件:2个

错误行数:

查看更多关于shell 脚本检查某目录下php文件语法 - php高级应用的详细内容...

  阅读:46次