User Tools

Site Tools is a bash(1) wrapper around getopt(1) to make life much easier for script developers. It's used in most of my scripts - look at them for examples of use. There's just one essential file to install - the script itself. Put it somewhere on your path, typically in /usr/local/bin:

To use, a script pipes in a description of its options and gets back the variables as processed by getopt(1) - as a plus it also provides automatic help and man page production.

It buys you:

  • all the goodness of getopt(1)
  • define options in one central place together with descriptions.
  • fewer 'magic' and duplicated values in your code
  • better consistency between
    1. the getopt(1) calling parameters,
    2. the case statement processing the user's options and
    3. the help/man pages
  • less spaghetti in your own code
  • much, much easier to maintain
  • automatic help-page and man-page printing using the same data sources
  • checking of option consistency at runtime
  • range checking of option values at runtime
  • pretty easy to use (just copy and paste from one of my example scripts)
  • portable to OS's without long option support - the help page adapts too

Note that deprecates an older script that I wrote called process-getopt(1).

There is also a 'c' version of in case you need speed.

To get the latest version of the full source code:

svn checkout svn:// argpsh-code

See the rules for processing options to see just how hard it is without getopt(1) !!! · Last modified: 2017/03/20 18:46 by admin