249 lines · 6.3 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_SafeDelere.sh  $DeleteItermPath#            eg:    1  ./run_SafeDelere.sh  tempdata.info        --->delete only one file#            eg:    2  ./run_SafeDelere.sh  ../TempDataFolder    --->delete entire folder#                      ./run_SafeDelere.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_SafeDelere.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_SafeDelere.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 iterm does not exist"    echo "detected by run_SafeDelere.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