summaryrefslogtreecommitdiff
path: root/sysutils/user_cygwin/files/groupadd.sh
blob: 7195edccd0a3f235e4a22e221f41240067cc534d (plain)
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
#!/bin/bash
# $NetBSD: groupadd.sh,v 1.3 2013/03/13 12:35:16 obache Exp $

export PATH=/bin:"$(/bin/cygpath -S)"

show_usage () {
	echo "usage: $0 [-v] group" >&2
	exit 1
}

verbose=false
run_cmd () {
	if $verbose; then printf '%s\n' "+ $*" >&2; fi
	"$@"
}

while getopts 'g:ov' f; do
	case $f in
	g)	echo "$0: numeric gid cannot be set manually; ignoring" >&2;;
	o)	echo "$0: cannot reuse numeric gid of another group; aborting" >&2; exit 1;;
	v)	verbose=true;;
	\?)	show_usage;;
	esac
done
shift $(($OPTIND - 1))

if [ $# -ne 1 ]; then show_usage; fi
$verbose || exec >/dev/null

run_cmd net localgroup $1 /add /comment:"Group added by Cygwin groupadd command" || exit 1
### regenerate cygwin /etc/group
run_cmd /bin/mkgroup -l -g "$1" >> /etc/group || exit 1