gnuargs generic
This script takes any list of arguments and makes variables out of them. with the parameters assigned.
#!/bin/bash
k=0
for a in $@; do
arg=`echo $a | sed -e 's/^[-]*//g' | cut -d= -f1`
arglist[$k]=$arg
k=$(( $k + 1 ))
done
n=${#arglist[*]}
while :
do
case $# in
0)
break;
;;
esac
option=$1
shift
orig_option=$option
case $option in
--*) ;;
-*) option=-$option ;;
esac
case $option in
--*=*)
optarg=`echo $option | sed -e 's/^[^=]*=//'`
arguments="$arguments $option"
;;
esac
for ((i=0; i<$n; i++)); do
arg=${arglist[$i]}
case $option in
--${arg}*)
eval $arg=$optarg
;;
esac
done
done
# display output:
for ((j=0; j<$n; j++)); do
arg=${arglist[j]}
eval echo $arg=\$$arg
done

0 Comments:
Post a Comment
<< Home