#!/bin/bash
# Define a function
list_dir(){
# Traversal parameter $1
for file in $1/*
do
    # If it is a directory then treat it ,after it's treated traverse it
    if [ -d $file ] ; 
    then 
        echo "$file is directory"
        chmod 750 $file
        echo "Directory $file changed to 750 "
        list_dir $file
    elif [ -f $file ] ; 
    then 
        suffix=`echo -n $file|awk -F. '{print $NF}'` #获取$file文件的后缀
    #下面case语句对文件权限进行修改 
        case $suffix in
            "zip") chmod 750 $file 
                 echo "file $file changed to 750"
            ;;
            "sh") chmod 750 $file 
                 echo "file $file changed to 750"
            ;;
            "jar") chmod 750 $file
                 echo "file $file changed to 750"
            ;;
            "bat") chmod 750 $file
                 echo "file $file changed to 750"
            ;;
            "rpm") chmod 750 $file
                 echo "file $file changed to 750"
            ;;
            "so") chmod 750 $file
                 echo "file $file changed to 750"
            ;;
            "tar") chmod 750 $file
                 echo "file $file changed to 750"
            ;;
            *)chmod 640 $file
                 echo "Regular file $file changed to 640"
            ;;
        esac
           list_dir $file
       fi
done
}
# If there is parameter to traverse the specified directory, 
# otherwise the current directory traversal
if [ $# -gt 0 ]
then
    list_dir "$1"
else
    list_dir "."
fi
#edit jre-java permission to 750
project_path=$(cd $(dirname $0); pwd)
echo "jre-java changed permission to 750"
find $project_path/jre/bin/ -name "java"|xargs chmod 750 *