The usual convention is a single hyphen for short-form (single-letter) options, and a double hyphen for long-form options:
> python -v
or > python —-version
It’s good practice to offer both. It should also be possible to set multiple options at once by appending one after another in short form following a single hyphen: > ls -alR
is the same as > ls -a -l -R
Long-form options are technically a GNU thing [0] and are not mentioned in the POSIX standard, but they’re conventional enough now that I think it’s good practice to include them in any CLI program.There are also a number of looser conventions about the meaning of certain short-form options [1].
0. https://www.gnu.org/prep/standards/html_node/Command_002dLin...