From 8c6cf58bb66792e095e7275936aaa7d70b512073 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 26 Aug 2010 16:19:53 +0200 Subject: Add getopt handling to localadduser. --- localadduser | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'localadduser') diff --git a/localadduser b/localadduser index e3cd3a1..292608b 100755 --- a/localadduser +++ b/localadduser @@ -8,15 +8,31 @@ # Execute adduser noninteractively through sudo # # TODO: Check for bad arguments -# TODO: Use getopts to offer help +# TODO: Implement --help option # TODO: Support overriding options in /etc/local file # set -e +PRG=$(basename "$0") + +TEMP="`getopt -s sh -o vqin -l verbose,quiet,interactive,noninteractive,dry-run -n "$PRG" -- "$@"`" +if [ $? != 0 ] ; then echo >&2 "ERROR: Internal getopt error." ; exit 1 ; fi +eval set -- "$TEMP" + verbose=1 -#simulate=true interactive=0 +while true ; do + case "$1" in + -v|--verbose) verbose=1; shift ;; + -q|--quiet) verbose=0; shift ;; + -i|--interactive) interactive=1; shift ;; + -n|--noninteractive) interactive=0; shift ;; + --dry-run) simulate=true; shift ;; + --) shift ; break ;; + *) echo >&2 "ERROR: Internal error resolving options." ; exit 1 ;; + esac +done # echo something, but only if in verbose mode vecho() { -- cgit v1.2.3