By convention, it is used to specify input from or output to the standard input and output streams. Options may be supplied in any order, or appear multiple times. The interpretation is left up to the particular application program. GNU adds long options to these conventions. Option names are typically one to three words long, with hyphens to separate words.
Users can abbreviate the option names as long as the abbreviations are unique.
This syntax enables a long option to accept an argument that is itself optional. Eventually, the GNU system will provide completion for long option names in the shell.