(Or "option", "flag", "switch", "option switch") An argument to a command that modifies its function rather than providing data. Options generally start with "-" in Unix
or "/" in MS-DOS
. This is usually followed by a single letter or occasionally a digit. More recently, GNU
software adopted the --longoptionname style, usually in addition to traditional, single-character, -x style equivalents.
Some commands require each option to be a separate argument, introduced by a new "-" or "/", others allow multiple option letters to be concatenated into a single argument with a single "-" or "/", e.g. "ls -al". A few Unix commands (e.g. ar
) allow the "-" to be omitted. Some options may or must be followed by a value, e.g. "cc prog.c -o prog", sometimes with and sometimes without an intervening space.
getopt and getopts are commands for parsing command line options. There is also a C
library routine called getopt for the same purpose.