天天看點

以前寫的一個遞歸删除的shell腳本

上學期俱樂部要做一個項目管理社群,用的SVN做版本控制,然而由于系統和用戶端上的差别,我需要對某些.svn的目錄進行遞歸删除。當時針對這個應用,就寫了一個小腳本,很小很簡單,但我覺得挺實用。

#! /bin/bash

# Remove Special File Recursively.

if [ $# -ne 2 ]; then

    echo "usage: rm_spec directory targetfile." 1>&2

    exit 1

fi

cd $1

goin_rm()

{

    SPEC_FILE=$1

    set $(ls -a)

    shift 2      #skip . and ..

    for FILE in $*; do

  if [ -e $SPEC_FILE ]; then

      rm -rf $SPEC_FILE

  fi

  if [ -d $FILE ]; then

      cd $FILE

      goin_rm $SPEC_FILE

    done

    cd ..

}

goin_rm $2

繼續閱讀