Merge from vendor branch GDB:
[dragonfly.git] / contrib / top / install
1 #!/bin/sh
2 #
3 # this shell script is amazingly similar to the old and lamented
4 # BSD "install" command.  It recognized the following options:
5 #
6 #       -o target file owner
7 #       -m target file mode
8 #       -g target file group owner
9 #
10 #
11 # scan the options
12 #
13 while [ $# -gt 0 ]; do
14     case $1 in
15       -o)
16         owner=$2
17         shift ; shift
18         ;;
19
20       -m)
21         mode=$2
22         shift; shift
23         ;;
24
25       -g)
26         group=$2
27         shift ; shift
28         ;;
29
30       -*)
31         echo "install: unknown option $1"
32         exit
33         ;;
34
35       *)
36         break
37         ;;
38     esac
39 done
40 #
41 # we need two more:  filename and destination
42 #
43 if [ $# -ne 2 ]; then
44     echo "Usage:  install [ -o owner ] [ -m mode ] [ -g group ] file destination"
45     exit
46 fi
47 #
48 # first, copy
49 #
50 cp $1 $2
51 #
52 # normalize the name
53 #
54 dest=$2
55 if [ -d $2 ]; then
56     dest=$2/`basename $1`
57 fi
58 #
59 # do optional things
60 #
61 if [ "$owner" ]; then
62     chown $owner $dest
63 fi
64 if [ "$group" ]; then
65     chgrp $group $dest
66 fi
67 if [ "$mode" ]; then
68     chmod $mode $dest
69 fi