(TESTS): Add no-x.
[coreutils.git] / src / groups.sh
blobd371c063e30a79d33073d82e8f3236c5f44e4657
1 #!/bin/sh
2 # groups -- print the groups a user is in
3 # Copyright (C) 1991, 1997, 2000, 2002 Free Software Foundation, Inc.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software Foundation,
17 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
19 # Written by David MacKenzie <djm@gnu.ai.mit.edu>.
21 # Make sure we get GNU id, if possible; also allow
22 # it to be somewhere else in PATH if not installed yet.
23 PATH=@bindir@:$PATH
25 usage="Usage: $0 [OPTION]... [USERNAME]...
27 --help display this help and exit
28 --version output version information and exit
30 Same as id -Gn. If no USERNAME, use current process.
32 Report bugs to <@PACKAGE_BUGREPORT@>."
34 fail=0
35 case $# in
36 1 )
37 case "z${1}" in
38 z--help )
39 echo "$usage" || fail=1; exit $fail;;
40 z--version )
41 echo "groups (@GNU_PACKAGE@) @VERSION@" || fail=1; exit $fail;;
42 * ) ;;
43 esac
45 * ) ;;
46 esac
48 if [ $# -eq 0 ]; then
49 id -Gn
50 fail=$?
51 else
52 for name in "$@"; do
53 groups=`id -Gn -- $name`
54 status=$?
55 if test $status = 0; then
56 echo $name : $groups
57 else
58 fail=$status
60 done
62 exit $fail