style/commands —
internal and interactive commands
Many programs, languages, and file formats support various forms of commands,
reserved words, and keywords. For these, choosing the right macro may
sometimes seem tricky.
The two main choices are
Cm and
Ic. The basic difference is that
Ic is better suited to commands that are
typed stand-alone, while
Cm is better
suited to sub-commands that can only be typed after a main command or that are
passed as arguments to a main command. So
Ic often and
Cm rarely occurs at the beginning of an
instruction. Both can occur at the interactive prompt of a command
interpreter, in an instruction line of an interpreted script, or in a
configuration instruction in a configuration file.
If a command is completely stand-alone and not internal to any program,
language, or configuration file format, neither
Cm nor
Ic is adequate. If such a stand-alone
command is the topic of the current manual page, use
Nm; if it is documented in another manual
page, use
Xr; otherwise, if it is not
documented, for example because it is only available in foreign or historical
operating systems, use
Sy.
For the usage of
Cm:
.Nm cvs Cm update
.Nm mt Cm rewind
.Nm openssl Cm genrsa
For the usage of
Ic:
Note that
Cm is also used for fixed arguments
of commands, like the
off in the
ftp(1)
prompt example above, not just for
sub-commands.
For stand-alone commands:
Modern operating systems no longer support the
.Sy goto
utility program that
.At v2
introduced as a tool for
.Xr sh 1
programming.
The MACRO REFERENCE section in the
mdoc(7)
manual.