#!/bin/sh # # userren: map unix userren syntax to our usermod 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 userren unix script to # our usermod script. Parameters unknown to usermod will be ignored. # # Usage # ----- # > userren olduser newuser # # # Helpers quit() { exit $1 } print_usage() { print_version echo echo "Usage:" sed -n -e "s/userren/${0##*/}/g" -e 's/^# > / /p' < "$0" quit 255 } print_version() { echo "userren script version $version" echo "Copyright bww bitwise works GmbH" } # # Main. # version=0.1.0 # Parse command line. while [ -n "$1" ] ; do case "$1" in -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 user pair if [ -n "$prev_opt" ]; then eval $prev_opt=\$1 prev_opt= else if [ -n "$olduser" ] ; then newuser=$1 else olduser=$1 fi fi ;; esac shift done if [ "$help" = "yes" -o "$olduser" = "" -o "$newuser" = "" ] ; 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 usermod parameters if [ "$verbose" = "yes" ] ; then echo echo "Parameter:" echo "----------" echo "olduser : $olduser" echo "newuser : $newuser" fi cmd="usermod -r \"$olduser\" \"$newuser\"" if [ "$verbose" = "yes" ] ; then echo "cmd: : $cmd" fi # in order to get " passed to REXX we need to go with cmd /c cmd /c "$cmd" quit 0