#!/bin/sh

# oogly argument processor
#
# 2003-11-23 jwa@jammed.com
#
# ./shargs foo bar --src /tmp/something --dst /tmp/somewherelse --debug -v
#
# ARG_1=foo
# ARG_2=bar
# ARG_dst=/tmp/somewherelse
# ARG_src=/tmp/something
# OPT_debug=1
# OPT_dst=1
# OPT_src=1
# OPT_v=1

N=0
while test ! -z "$*"
do
        echo $1 | grep '^-' > /dev/null
        if [ $? = 0 ]
        then
                OPTNAME=$1
                OPTNAME=`echo $1 | sed 's/^-*//g'`
                OPT_EVAL="OPT_$OPTNAME=1"
                eval $OPT_EVAL
                OPT_HAS_ARG=1
        else
                if [ "$OPT_HAS_ARG" = 1 ]
                then
                        ARG_EVAL="ARG_$OPTNAME=$1"
                        OPT_HAS_ARGS=""
                else
                        N=`expr $N + 1`
                        ARG_EVAL="ARG_$N=$1"
                fi
                eval $ARG_EVAL
        fi
        shift
done

#set | egrep '(OPT|ARG)' | grep -v EVAL

