1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
#! /bin/sh
#
# @(#)install.sh 4.5 (Berkeley) 10/12/83
#
# @(#)$Id: bsdinstall,v 2.2 1997/09/01 12:37:24 mrg Exp $
#
cmd=/bin/mv
strip=""
chmod="/bin/chmod 755"
chown=""
chgrp=""
while true ; do
case $1 in
-s ) strip="/bin/strip"
shift
;;
-c ) cmd="/bin/cp"
shift
;;
-m ) chmod="/bin/chmod $2"
shift
shift
;;
-o ) chown="/etc/chown -f $2"
shift
shift
;;
-g ) chgrp="/bin/chgrp -f $2"
shift
shift
;;
-d ) cmd="/bin/mkdir"
shift
;;
* ) break
;;
esac
done
if test $1 = CVS -a -d $1 ; then
echo "install: skipping CVS directory"
exit 0
fi
if test ! ${2-""}; then
echo "install: no destination specified"
exit 1
fi
if test ${3-""}; then
echo "install: too many files specified -> $*"
exit 1
fi
if test $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 test '!' -f $1; then
echo "install: can't open $1"
exit 1
fi
if test -d $2; then
file=$2/$1
else
file=$2
fi
/bin/rm -f $file
;;
esac
case $cmd in
/bin/mkdir )
if test ! -d "$file"; then
$cmd $file
fi
;;
* )
$cmd $1 $file
if test -n "$strip"; then
$strip $file
fi
;;
esac
if test -n "$chown"; then
$chown $file
fi
if test -n "$chgrp"; then
$chgrp $file
fi
$chmod $file
exit 0
|