diff options
Diffstat (limited to 'unix/getopt-simple.sh')
-rwxr-xr-x | unix/getopt-simple.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/unix/getopt-simple.sh b/unix/getopt-simple.sh new file mode 100755 index 0000000..f5b06f0 --- /dev/null +++ b/unix/getopt-simple.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# getopt-simple.sh +# Author: Chris Morgan +# Used in the ABS Guide with permission. +# +# See also, UseGetOpt.sh, a modified version of this script. + +### example +# $ sh getopt_example.sh /test=value1 /test2=value2 + +# Parameters are '/test=value1 /test2=value2' +# Processing parameter of: '/test=value1' +# Parameter: 'test', value: 'value1' +# Processing parameter of: '/test2=value2' +# Parameter: 'test2', value: 'value2' +# test is 'value1' +# test2 is 'value2' +### + + +getopt_simple() +{ + echo "getopt_simple()" + echo "Parameters are '$*'" + until [ -z "$1" ] + do + echo "Processing parameter of: '$1'" + if [ ${1:0:1} = '/' ] + then + tmp=${1:1} # Strip off leading '/' . . . + parameter=${tmp%%=*} # Extract name. + value=${tmp##*=} # Extract value. + echo "Parameter: '$parameter', value: '$value'" + eval $parameter=$value + fi + shift + done +} + +# Pass all options to getopt_simple(). +getopt_simple $* + +echo "test is '$test'" +echo "test2 is '$test2'" + +exit 0 |