# Special \$ Variables
> [HTML Version](special$variables.htm)
_Revised January 2024; see History_
The DO file processor supports various special information variables or built-in macros which all have a \$ prefix, followed by one or more alphabetic characters and possibly an arithmetic suffix. The supported variables are listed here; those that are A-Shell extensions are noted at the end of the list.
Also note that the special \$ variables are only expanded within DO files, not CMD files.
| **Variable** | **Value** |
|------|------|
| \$: | Original device (e.g. "DSK0:") |
| \$P | Original ppn (e.g. "7,6") |
| \$\$ | Real dollar sign |
| \$TM | Time of day in 24 hour HH:MM format (e.g. "13:27") |
| \$TD | Current date in YYMMDD format |
| \$TW | Current day of week as a number (0=Mon, 1=Tue,...) |
| \$NJ | Current job name (e.g. "TSKAAA") |
| \$NT | Current terminal name |
| \$ND | Current terminal driver name |
| \$NS | Current OS (e.g. "AIX") |
| \$SV | Current OS version |
| \$UX | Current radix (e.g. "8" or "16") |
| \$LG | Current language (e.g. "ENGLISH") |
| \$LY | Yes character (e.g. "Y") |
| \$LN | No character (e.g. "N") |
| \$NU | Current login name (e.g. "root") |
The following are supported only under A-Shell:
| **Variable** | **Value** |
|------|------|
| \$HF | Current host full path (e.g. "/vm/miame/dsk0/001004") |
| \$HD | Current host disk (e.g. "/vm/miame/dsk0") |
| \$HP | Current host ppn (e.g. "001004") |
| \$HM | MIAME environmental variable definition (e.g. "/vm/miame") |
| \$MMDDYY\{+/-##\} | Each of these evaluates to current date in the specified format, with an optional +/- days adjustment. |
| \$DDMMYY\{+/-##\} |
| \$YYMMDD\{+/-##\} |
**Comments**
These special information variables are typically used in IF statements or in output messages.
Note that unlike ASB string symbols defined with the [DEFINE](define_compiler.htm.md) statement, these special \$ variables in DO files do not contain their own quotes, so if they are used in a context that requires a quoted string, explicit quotes must be added.
**Examples**
IF "\$NU" = "jack" ; (correct)
IF \$NU = jack ; (incorrect)
IF LEFT("\$NJ",3) = "TAS" ; (correct)
IF LEFT(\$NJ,3) = "TAS" ; (incorrect)
IF "LEFT(\$NJ,3)" = "TAS" ; (incorrect)
If today were December 1, 2023, then:
\$MMDDYY equals 120123
\$MMDDYY+15 equals 121623
\$DDMMYY equals 011223
\$DDMMYY-1 equals 301123
\$YYMMDD equals 231201
\$YYMMDD+32 equals 240101
**History**
2024 January, A-Shell 7.0.1753: Support added for date variables.