#!/bin/sh # # groupadd: map unix groupadd syntax to our groupmod script syntax # # Author: Silvan Scherrer # # This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE # WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # # Synopsis # -------- # # This script mapps all needed parameters from groupadd unix script to # our groupmod script. Parameters unknown to groupmod will be ignored. # # Usage # ----- # > groupadd [-g GID] [-r] group # # # Helpers quit() { exit $1 } print_usage() { print_version echo echo "Usage:" sed -n -e "s/groupadd/${0##*/}/g" -e 's/^# > / /p' < "$0" quit 255 } print_version() { echo "groupadd script version $version" echo "Copyright bww bitwise works GmbH" } # # Main. # version=0.1.0 # Parse command line. while [ -n "$1" ] ; do case "$1" in -g) prev_opt=gid ;; -r) system_account=yes ;; -v|-verbose|--verbose) verbose=yes ;; -h|-help|--help) help=yes ;; -V|-version|--version) show_version=yes ;; -*) unknown="$unknown$unknown_sep$1" unknown_sep=', ' ;; *) # If the previous option needs an argument, assign it. # else it's the group if [ -n "$prev_opt" ] ; then eval $prev_opt=\$1 prev_opt= else group=$1 fi ;; esac shift done if [ "$help" = "yes" -o "$group" = "" ] ; then show_version=no print_usage fi if [ "$show_version" = "yes" ] ; then print_version fi if [ "$verbose" = "yes" -a "$unknown" != "" ] ; then echo echo "unknown parameters: $unknown" echo fi # genarate the groupmod parameters if [ "$verbose" = "yes" ] ; then echo echo "Parameter:" echo "----------" echo "group : $group" fi cmd="groupmod -a \"$group\"" if [ -n "$gid" ] ; then if [ "$verbose" = "yes" ] ; then echo "gid : $gid" fi cmd="$cmd -g $gid" fi # in order to get " passed to REXX we need to go with cmd /c cmd /c "$cmd" quit 0