On 19May2012 08:27, Michael Torrie <torr...@gmail.com> wrote: | On 05/16/2012 08:16 PM, Rita wrote: | > I currently build a lot of interfaces/wrappers to other applications | > using bash/shell. One short coming for it is it lacks a good method | > to handle arguments so I switched to python a while ago to use | > 'argparse' module. | | Actually there is a great way of parsing command line options in | bash, using the GNU "getopt" program. See: | http://www.manpagez.com/man/1/getopt/ | | This command is available on all Linux systems, and most BSD systems. | There's also freegetopt, a BSD implementation for unix, MSDOS, or Windows.
And if you don't want to do option bundling it's easy enough to write a simple option parser without getopt at all. My standard option parsing looks somewhat like this: # some things to control via the options the_file= doit=1 trace= # badness? badopts= while [ $# -gt 0 ] do case $1 in -f) the_file=$2; shift ;; -n) doit= ;; -x) trace=1 ;; --) shift; break ;; -?*) echo "$0: unrecognised option: $1" >&2 badopts=1 ;; *) break ;; esac shift done # ... parse non-option arguments ... [ $badopts ] && { echo "$usage" >&2; exit 2; } # ... rest of program ... There's nothing hard there. Cheers, -- Cameron Simpson <c...@zip.com.au> DoD#743 http://www.cskk.ezoshosting.com/cs/ Any profit should go to Arnie's `get the daemon carved on Mount Rushmore' fund. - Marty Albini, DOD0550, mar...@sdd.hp.com -- http://mail.python.org/mailman/listinfo/python-list