home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / cmds / root.3 / usr / sbin / mvdir / mvdir~
Text File  |  1998-08-19  |  2KB  |  76 lines

  1. #!/sbin/sh
  2.  
  3. # Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  4. #                                                                         
  5. #        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  6. #                   SANTA CRUZ OPERATION INC.                             
  7. #                                                                         
  8. #   The copyright notice above does not evidence any actual or intended   
  9. #   publication of such source code.                                      
  10.  
  11. #    copyright    "%c%"
  12.  
  13. #ident    "@(#)mvdir:mvdir.sh    1.8.2.5"
  14. #ident  "$Header: mvdir.sh 1.2 91/06/27 $"
  15. catalog=uxsysadm
  16. label=UX:mvdir
  17. if [ $# != 2 ]
  18. then
  19.     pfmt -l $label -g $catalog:1 "Incorrect usage\\n"
  20.     pfmt -l $label -g $catalog:2 -s action "Usage: mvdir fromdir newname\\n"
  21.     exit 2
  22. fi
  23. if [ "$1" = . ]
  24. then
  25.     pfmt -l $label -g $catalog:3 "Cannot move '.'\\n"
  26.     exit 2
  27. fi
  28. f=`basename "$1"`
  29. t="$2"
  30. if [ -d "$t" ]
  31. then
  32.     t="$t"/"$f"
  33. fi
  34. if [ -f "$t"  -o -d "$t" ]
  35. then
  36.     pfmt -l $label -g $catalog:4 "%s exists\\n" "$t"
  37.     exit 1
  38. fi
  39. if [  ! -d "$1" ]
  40. then
  41.     pfmt -l $label -g $catalog:5 "%s must be a directory\\n" "$1"
  42.     exit 1
  43. fi
  44.  
  45. # *** common path tests: The full path name for $1 must not
  46. # ***              be an anchored substring of the full
  47. # ***             path name for $2
  48.  
  49. here=`pwd`
  50. cd "$1"
  51. from=`pwd`
  52. dfrom=`dirname "$from"`
  53. lfrom=`expr "$from" : "$from"`
  54.  
  55. cd "$here"
  56. mkdir "$t"        # see if we can create the directory
  57. if [ $? != 0 ]
  58. then
  59.     exit
  60. fi
  61. cd "$t"
  62. to=`pwd`
  63. dto=`dirname "$to"`
  64. cd "$here"
  65. rmdir "$t"
  66.  
  67. a=`expr "$to" : "$from"`
  68. if [ "$a" -eq "$lfrom" -a  "$dfrom" != "$dto" ]
  69. then
  70.     pfmt -l $label -g $catalog:6 "Arguments have common path\\n"
  71.     exit 1
  72. fi
  73. # ***
  74.  
  75. /usr/bin/mv "$1" "$t"
  76.