From e652dc8085314a1002305494078e4f276448e4a9 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Tue, 16 Aug 2011 21:35:57 -0400 Subject: commitpkg: use getopts to parse options Signed-off-by: Dave Reisner Signed-off-by: Pierre Schmitz --- commitpkg | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/commitpkg b/commitpkg index d37babf..1275615 100755 --- a/commitpkg +++ b/commitpkg @@ -98,15 +98,17 @@ done # see if any limit options were passed, we'll send them to rsync rsyncopts=(-e ssh -p --chmod=ug=rw,o=r -c -h -L --progress --partial -y) -if [ "$1" = '-l' ]; then - rsyncopts+=("--bwlimit=$2") - shift 2 -fi - -if [ "$1" = "-a" ]; then - commit_arch=$2 - shift 2 -fi +while getopts ':l:a:' flag; do + case $flag in + l) rsyncopts+=("--bwlimit=$2") ;; + a) commit_arch=$2 ;; + :) echo "option requires an argument -- '$OPTARG'" >&2 + exit 1 ;; + \?) echo "invalid option -- '$OPTARG'" >&2 + exit 1 ;; + esac +done +shift $(( OPTIND - 1 )) if [ -n "$(svn status -q)" ]; then echo -n 'committing changes to trunk...' -- cgit v1.2.3-24-g4f1b