lndir.sh
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. #! /bin/sh
  2. # lndir - create shadow link tree
  3. #
  4. # $XConsortium: lndir.sh,v 1.8 91/04/15 17:55:03 rws Exp $
  5. #
  6. # Used to create a copy of the a directory tree that has links for all
  7. # non- directories (except those named CVS, RCS, or SCCS).  If you are
  8. # building the distribution on more than one machine, you should use
  9. # this script.
  10. #
  11. # If your master sources are located in /usr/local/src/X and you would like
  12. # your link tree to be in /usr/local/src/new-X, do the following:
  13. #
  14. #  %  mkdir /usr/local/src/new-X
  15. # %  cd /usr/local/src/new-X
  16. #  %  lndir ../X
  17. USAGE="Usage: $0 fromdir [todir]"
  18. if [ $# -lt 1 -o $# -gt 2 ]
  19. then
  20. echo "$USAGE"
  21. exit 1
  22. fi
  23. DIRFROM=$1
  24. if [ $# -eq 2 ];
  25. then
  26. DIRTO=$2
  27. else
  28. DIRTO=.
  29. fi
  30. if [ ! -d $DIRTO ]
  31. then
  32.         mkdir -p $DIRTO
  33. fi
  34. cd $DIRTO
  35. if [ ! -d $DIRFROM ]
  36. then
  37. echo "$0: $DIRFROM is not a directory"
  38. echo "$USAGE"
  39. exit 2
  40. fi
  41. pwd=`pwd`
  42. if [ `(cd $DIRFROM; pwd)` = $pwd ]
  43. then
  44. echo "$pwd: FROM and TO are identical!"
  45. exit 1
  46. fi
  47. for file in `ls -af $DIRFROM`
  48. do
  49.     if [ ! -d $DIRFROM/$file ]
  50.     then
  51. #     echo "linking $DIRFROM/$file to pwd"
  52.     ln -s $DIRFROM/$file . > /dev/null 2>&1 
  53.     else
  54.     if [ $file != CVS -a $file != RCS -a $file != SCCS -a $file != . -a $file != .. ]
  55.     then
  56.     echo $file:
  57.     mkdir -p $file > /dev/null 2>&1 
  58.     (cd $file
  59.      pwd=`pwd`
  60.      case "$DIRFROM" in
  61.      /*) ;;
  62.      *)  DIRFROM=../$DIRFROM ;;
  63.      esac
  64.      if [ `(cd $DIRFROM/$file; pwd)` = $pwd ]
  65.      then
  66.     echo "$pwd: FROM and TO are identical!"
  67.     exit 1
  68.      fi
  69.      $0 $DIRFROM/$file
  70.     )
  71.     fi
  72.     fi
  73. done
  74. exit 0