install 572 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/rc
  2. # Usage: install [options] srcfile dstfile
  3. # Usage: install srcfile dstfile owner group mode
  4. fn usage {
  5. echo 'usage: install [-c|-m mode] srcfile dstfile' >[1=2]
  6. exit 1
  7. }
  8. mode=775
  9. while(! ~ $#* 0){
  10. switch($1){
  11. case -c
  12. ;
  13. case -m
  14. mode=$2
  15. shift
  16. case -*
  17. usage
  18. case *
  19. switch($#*) {
  20. case 2
  21. ;
  22. case 5
  23. mode=$5 # backward compatibility
  24. case *
  25. usage
  26. }
  27. srcfile=$1
  28. dstfile=$2
  29. if (! test -f $dstfile || ! cmp -s $srcfile $dstfile) {
  30. cp $srcfile $dstfile
  31. chmod $mode $dstfile
  32. chmod g+w $dstfile
  33. }
  34. exit 0
  35. }
  36. shift
  37. }
  38. usage