A TinyFugue variable has a name and a value. Names are case sensitive, and should start with a letter and contain only letters, numbers, and underscores. A value can be a text string (including display attributes), integer, or real number, but some special variables will automatically convert an assigned value to a particular type.
Variables may either be local, global, or exported. Global variables are visible to all tf commands; they are defined with /set or /setenv, or imported from the environment when tf starts. Local variables are created with /let or assignment expressions, and only exist in the scope in which they were created. Exported variables are global variables which are also visible to subshells, so they can be used by commands /sh, the '!' option of /quote, and file uncompression. Variables are exported if they were defined with /setenv, explicitly exported with /export, or imported from tf's parent environment.
The value of a variable can be obtained using a '%' substitution (see "substitution"), or by simply using its name in an expression (see "expressions").
See "special variables" for a list of special variables.