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.