Instead of typing ./build_tsmp2.sh --eclm --parflow --icon, prefer ./build_tsmp2.sh eclm parflow icon.
More generally, build_tsmp2.sh should make a distinction between options and arguments, e.g. ./build_tsmp2.sh --<options> <arguments>. The component models should be interpreted as arguments while the rest of the switches are options. How to distinguish between these two?
- arguments: What the script/utility acts on. Examples might make this clearer:
ls <which directories to list>
cp <source and destination files/folders>
ssh <what server to connect to>
tar <what files/folders to archive>
build_tsmp2.sh <what model/s to build>
- options: Modifies the default behavior of a script/utility. Usually options are optional (but not always).
The inspiration for --<options>/<arguments> distinction comes from POSIX conventions and GNU coding standards.