# Colon (:) Tokens > [HTML Version](colon()tokens.htm) _Updated June 2022; see History_ Certain special commands or tokens begin with the colon, which may be in the first column or which can be indented. | **Command** | **Meaning** | |------|------| | :< .... > | outputs the text between the opening and closing angle brackets; may span multiple lines. This is the normal way to print operational messages on the screen from within command files. | | :T (trace) | causes all commands from that point forward to be traced—i.e., be displayed on the screen. This is very useful for debugging, but may be too verbose for normal use. | | :R (respond) | causes just the output of commands to be displayed; the commands themselves do not display. This produces a somewhat cleaner looking result. | | :S (silence) | silences all output. Unfortunately, this is the default, if neither :t or :r are supplied first. | | :X (exit) | causes the CMD or DO file to exit. This is equivalent to the EXIT command. | | :K (keyboard) | stops and waits for keyboard input. The input is then processed by whatever process is currently in effect (i.e. either a program or the command line processor itself). For example:
SET CTRLC
:Hit ENTER to proceed or ^C to abort: >
:K ; ^C will abort here; ENTER will just proceed
ERASE \*.\* | | :K#(keyboard) | Variation on :K with numbered variables. See notes below. | | :P (partial) | may be used in conjunction with :k to append the keyboard input to a partial command line. For example:
:R
:
:P
EZTYP
:K | **K0 - K9 Tokens** The command file processor supports a variation of the :K token to input keyboard responses into variables which can be tested in IF statements and used as DO file parameters. The following sample file provides an example: :R : :K0 :S : :K9 IF "\$KBD9" = "SECRET" DOLOG \$KBD0 The special token :K0 is like :K, in that it waits for a line of input, but instead of passing the input to the current program, it simply stores it as \$KBD0. The same concept applies to :K1 thru :K2 (\$KBD1 thru \$KBD9). The special \$KBDn variables may be tested in an IF statement or passed as a command line argument to a DO file. Note that when using \$KBDn in an IF statement, it must be quoted as in the example above. However, when using it as a DO file command argument, it should not be quoted. In the example above, the DO file dolog.do will see the \$KBD0 on its command line and convert it to whatever had been entered to the "Enter desired ppn" prompt. \$KBDn variables cannot be used in any other context, even within a command file. Unlike other special \$xx variables which can appear in DO files, which are expanded by DO.LIT when it loads the DO file, the \$KBD variables cannot be expanded until after the input operation takes place, and thus it is left to individual commands (just IF and DO) to interpret them. **History** June 2022: A-Shell 6.5.1715, DO.LIT 2.1(126): support indentation of the colon directives as illustrated in the example [MAIN.DO](commandfiles.htm.md); previously they had to be in column 1.