249 lines · 6.9 KB · Shell
RawDownload
#!/bin/bash#***********************************************************************************************************# Encoder binary comparison test model#           -- Compared with benchmark version using SHA-1 string#           -- Test bit stream under folder  openh264/res#           -- SHA-1 string of benchmark version for  all cases  of all bit streams#               under folder  openh264/test/encoder_binary_comparion/SHA1Table#           -- For more detail,please refer to file AboutTest.##brief:#           -- Usage: ./run_SafeDelete.sh  $DeleteItermPath#                eg:    1  ./run_SafeDelete.sh  tempdata.info        --->delete only one file#                eg:    2  ./run_SafeDelete.sh  ../TempDataFolder    --->delete entire folder#                          ./run_SafeDelete.sh  /opt/TempData/ABC    --->delete entire folder ABC## date:    10/06/2014 Created#***********************************************************************************************************#usage: runGetFileName    $FilePathrunGetFileName(){    #parameter check!    if [ ! $# -eq 1  ]    then        echo "usage: runGetFileName  \$FilePath"        return 1     fi      local PathInfo=$1     local FileName=""     if [[  $PathInfo  =~ ^"/"  ]]     then        FileName=` echo ${PathInfo} | awk 'BEGIN {FS="/"}; {print $NF}'`        echo "${FileName}"        return 0     elif [[  $PathInfo  =~ ^".."  ]]     then        FileName=` echo ${PathInfo} | awk 'BEGIN {FS="/"}; {print $NF}'`        echo "${FileName}"        return 0     else        FileName=${PathInfo}        echo "${FileName}"        return 0     fi }#******************************************************************************************************#usage:    runGetFileFullPath  $FilePathInfo#eg:    current path is /opt/VideoTest/openh264/ABC#         runGetFileFullPath  abc.txt                  --->/opt/VideoTest/openh264/ABC#         runGetFileFullPath  ../123.txt               --->/opt/VideoTest/openh264#         runGetFileFullPath  /opt/VieoTest/456.txt    --->/opt/VieoTestrunGetFileFullPath(){    #parameter check!    if [ ! $# -eq 1  ]    then        echo "usage:  runGetFileFullPath  \$FilePathInfo "        return 1     fi      local PathInfo=$1     local FullPath=""     local CurrentDir=`pwd`      if [[  $PathInfo  =~ ^"/"  ]]     then        FullPath=`echo ${PathInfo} |awk 'BEGIN {FS="/"} {for (i=1;i<NF;i++) printf("%s/",$i)}'`        cd ${FullPath}        FullPath=`pwd`        cd ${CurrentDir}        echo "${FullPath}"        return 0     elif [[  $PathInfo  =~ ^".."  ]]     then        FullPath=`echo ${PathInfo} |awk 'BEGIN {FS="/"} {for (i=1;i<NF;i++) printf("%s/",$i)}'`        cd ${FullPath}        FullPath=`pwd`        cd ${CurrentDir}        echo "${FullPath}"        return 0     else        FullPath=${CurrentDir}        echo "${FullPath}"        return 0     fi}#******************************************************************************************************#usage:    runGetFolderFullPath  $FolderPathInfo#eg:    current path is /opt/VideoTest/openh264/ABC#         runGetFolderFullPat   SubFolder             --->/opt/VideoTest/openh264/ABC/ SubFolder#         runGetFolderFullPat  ../EFG              --->/opt/VideoTest/openh264/EFG#         runGetFolderFullPat  /opt/VieoTest/MyFolder    --->/opt/VieoTest/MyFolderrunGetFolderFullPath(){    #parameter check!    if [ ! $# -eq 1  ]    then        echo "usage:  runGetFolderFullPath  \$FolderPathInfo  "        return 1     fi      local PathInfo=$1     local FullPath=""     local CurrentDir=`pwd`      if [[  $PathInfo  =~ ^"/"  ]]     then        FullPath=${PathInfo}        cd ${FullPath}        FullPath=`pwd`        cd ${CurrentDir}        echo "${FullPath}"        return 0     elif [[  $PathInfo  =~ ^".."  ]]     then        cd ${PathInfo}        FullPath=`pwd`        cd ${CurrentDir}        echo "${FullPath}"        return 0     else        FullPath="${CurrentDir}/${PathInfo}"        cd ${FullPath}        FullPath=`pwd`        cd ${CurrentDir}        echo "${FullPath}"        return 0     fi }#******************************************************************************************************#usage: runUserNameCheck    $whoamirunUserNameCheck(){    #parameter check!    if [ ! $# -eq 1  ]    then        echo "usage: runUserNameCheck  \$whoami"        return 1     fi     local UserName=$1     if [  ${UserName} = "root"  ]    then        echo ""        echo "*********************************************"        echo "delete files under root is not allowed"        echo "detected by run_SafeDelete.sh"        return 1    else        echo ""        return 0    fi}#******************************************************************************************************#usage:    runFolderLocationCheck  $FullPathrunFolderLocationCheck(){    #parameter check!    if [ ! $# -eq 1  ]    then        echo "usage:  runFolderLocationCheck  \$FullPath"        return 1     fi     local Location=$1    local FileDirDepth=`echo ${Location} | awk 'BEGIN {FS="/"} {print NF}'`     #for other non-project folder data protection    #eg /opt/VideoTest/DeletedItem depth=4    if [  $FileDirDepth -lt 5 ]    then        echo ""        echo "*********************************************"        echo "FileDepth is  $FileDirDepth, and it is less thab the minimum depth(5)"        echo "unsafe delete! try to delete non-project related files: $FileDir"        echo "detected by run_SafeDelete.sh"        return 1    fi     return 0}#******************************************************************************************************#usage runSafeDelete $PathinforunSafeDelete(){    #parameter check!    if [ ! $# -eq 1  ]    then        echo "usage runSafeDelete \$FileFullPath"        return 1     fi     local PathInfo=$1    local UserName=`whoami`    local FullPath=""    local DeleteIterm=""    local FileName=""     #user validity check    runUserNameCheck  ${UserName}    if [ ! $? -eq 0 ]    then        return 1    fi     #get full path    if [  -d $PathInfo  ]    then        FullPath=`runGetFolderFullPath  ${PathInfo} `    elif [ -f $PathInfo ]    then        FullPath=`runGetFileFullPath  ${PathInfo} `    else        echo "delete item does not exist"        echo "detected by run_SafeDelete.sh"        return 1    fi     #location  validity check    runFolderLocationCheck ${FullPath}    if [ ! $? -eq 0 ]    then        return 1    fi     #delete file/folder    if [  -d $PathInfo  ]    then        DeleteIterm=${FullPath}        echo "deleted folder is:  $DeleteIterm"        rm -rf ${DeleteIterm}    elif [ -f $PathInfo ]    then        FileName=`runGetFileName ${PathInfo}`        DeleteIterm="${FullPath}/${FileName}"        echo "deleted file is:  $DeleteIterm"        rm  ${DeleteIterm}    fi    echo "" }PathInfo=$1runSafeDelete $PathInfo  

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t