The default is *not* programatically generated in the help menu, as we don't determine this until later. This is intentional, so we can validate the user's choice of command.
This adds support for serveral new command line options (taken from the usage):
"-b, --bin-dir" "Override the bin installation directory [default: ${_bin_dir}]" \
"-m, --man-dir" "Override the man installation directory [default: ${_man_dir}]" \
"-a, --arch" "Override the architecture identified by the installer [default: ${_arch}]" \
"-h, --help" "Display this help message"
This also (coincidentally) allows for $BIN_DIR, $MAN_DIR, and $ARCH to be set to create default settings for these.
These variables are *always* overwritten by the command line arguments.
This diff is unusually large, as my formatter ([shfmt](https://github.com/mvdan/sh)) ran, reformatting the majority of the script.
This also adds a few utilities to the script (`log`/`abort`) and modifies `err` to simply output to stderr.
This allows for more fine grain control over script flow and output, without relying on `echo >&2`.