Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > So while you can combine flags for *most* programs, you still won't > be able to say things like > > git clean -qdx > > just because that's still a shellscript, and doing any fancy argument > parsing in shell is just painful. Indeed... but for my personal shell scripts I like to use a construct like the following for parsing args: while :; do case "$1" in ... lots of cases to handle normal args ... -[!-]?*) # split concatenated single-letter options apart FIRST="$1"; shift set -- `echo $FIRST | $SED 's/-\(.\)\(.*\)/-\1 -\2/'` "$@" ;; -*) # unrecognized option unrec_opt "$1"; exit 1;; *) # non-option break; esac done I'm sure there are problems with it, but it generally seems to work pretty reasonably for short options. -Miles -- 97% of everything is grunge - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html