unix에서의 휴지통 프로그램입니다.

Contents

1 for hp-ux
2 for cygwin

1 for hp-ux #

# scripted by gimslab.com

# 이 스크립트를 이용해 옮길수 있는 파일의 최상위 디렉토리(일종의 안전장치)
# 아래의 디렉토리 명으로 시작하지 않는 파일들은 이 명령을 통해 휴지통할수 없다.
top_dir='/data/ekp/svr1'

# 휴지통 디렉토리
# 지워진 파일들은 아래디렉토리 아래에 풀패스 그대로 디렉토리가 생성되고 파일이 이동된다.
trash_dir='/data/inetrr/.TRASH'


if [ -z "$1" ]; then
  echo "parameter needed"
  exit 1
fi

until [[ -z $1 ]]
do

 full_name=$1

 # make absolute dir
 if (( `expr $1 : ^[^/]` )); then
   full_name=$PWD/$1
 fi

 # check top_dir
 if (( ! `expr ${full_name} : ^${top_dir}` )); then
   echo "$1 is not a sub-file of ${top_dir}"
   exit 1
 fi

 #target_dir=`echo "$full_name" | sed 's/[^\/]*\/*$//'`
 target_dir=`dirname $full_name`
 target_dir=$trash_dir$target_dir

 mkdir -p $target_dir
 mv -i ${full_name} ${target_dir}
 if [[ $? = 0 ]]; then
   echo "$full_name moved to $target_dir"
 fi

 shift
done





2 for cygwin #

# scripted by gimslab.com

# 이 스크립트를 이용해 옮길수 있는 파일의 최상위 디렉토리(일종의 안전장치)
# 아래의 디렉토리 명으로 시작하지 않는 파일들은 이 명령을 통해 휴지통할수 없다.
top_dir='/win/c/Documents\ and\ Settings/GIM'

# 휴지통 디렉토리
# 지워진 파일들은 아래디렉토리 아래에 풀패스 그대로 디렉토리가 생성되고 파일이 이동된다.
trash_dir='/win/c/DOCUME~1/GIM/cygwin_home/.TRASH'


if [ -z "$1" ]; then
  echo "parameter needed"
  exit 1
fi

until [[ -z $1 ]]
do

 full_name=$1

 # make absolute dir
 if (( `expr $1 : ^[^/]` )); then
   full_name=$PWD/$1
 fi


 # check top_dir
 if (( ! `expr "${full_name}" : ^"${top_dir}"` )); then
   echo "$1 is not a sub-file of ${top_dir}"
   exit 1
 fi

 #target_dir=`echo "$full_name" | sed 's/[^\/]*\/*$//'`
 target_dir=`dirname "${full_name}"`
 target_dir=$trash_dir$target_dir
 mkdir -p "${target_dir}"
 mv -i "${full_name}" "${target_dir}"
 if [[ $? = 0 ]]; then
   echo "$full_name moved to $target_dir"
 fi

 shift
done
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-01-15 19:26:54
Processing time 0.0072 sec