| #! /bin/sh |
| # |
| # @(#)install.sh 4.5 (Berkeley) 10/12/83 |
| # |
| cmd=/bin/mv |
| strip="" |
| chmod="chmod 755" |
| chown="chown -f root" |
| chgrp="chgrp -f bin" |
| while true ; do |
| case $1 in |
| -s ) strip="strip" |
| shift |
| ;; |
| -c ) cmd="cp" |
| shift |
| ;; |
| -m ) chmod="chmod $2" |
| shift |
| shift |
| ;; |
| -o ) chown="chown -f $2" |
| shift |
| shift |
| ;; |
| -g ) chgrp="chgrp -f $2" |
| shift |
| shift |
| ;; |
| -d ) cmd="mkdir" |
| shift |
| ;; |
| * ) break |
| ;; |
| esac |
| done |
| |
| if [ ! ${2-""} ] |
| then echo "install: no destination specified" |
| exit 1 |
| fi |
| if [ ${3-""} ] |
| then echo "install: too many files specified -> $*" |
| exit 1 |
| fi |
| if [ $1 = $2 -o $2 = . ] |
| then echo "install: can't move $1 onto itself" |
| exit 1 |
| fi |
| case $cmd in |
| /bin/mkdir ) |
| file=$2/$1 |
| ;; |
| * ) |
| if [ '!' -f $1 ] |
| then echo "install: can't open $1" |
| exit 1 |
| fi |
| if [ -d $2 ] |
| then file=$2/$1 |
| else file=$2 |
| fi |
| /bin/rm -f $file |
| ;; |
| esac |
| |
| case $cmd in |
| /bin/mkdir ) |
| if [ ! -d "$file" ] |
| then $cmd $file |
| fi |
| ;; |
| * ) |
| $cmd $1 $file |
| if [ $strip ] |
| then $strip $file |
| fi |
| ;; |
| esac |
| |
| $chown $file |
| $chgrp $file |
| $chmod $file |