The list of option specifications is terminated with a single minus (-); the arguments to be parsed follow this. When the argument parsing has finished the environment variable $* is set to the remaining list of arguments.
#!/dis/sh load arg bflag := cflag := 0 file := () args := $* (arg bc {$opt^flag = 1} f+ {file=$arg} r++++ {rect=$arg} '*' {echo unknown option $opt} - $args ) echo $0 $bflag $cflag $file echo rect $rect echo arguments are $*
When invoked as follows:
the output is:
./script 1 1 file rect 0 10 50 100 arguments are a b c
and when invoked by:
the output is:
unknown option z ./script 1 0 file arguments are -bc
SH-ARG(1 ) | Rev: Thu Feb 15 14:42:47 GMT 2007 |