gsh supports variables in the shell environment. These variables can be used by any shell utility or script. Many EXE files and shell scripts predefine certain shell variables that contain formatting options or other options for a specific utility. As an example, the ls utility looks for the variable TERM that defines the terminal type currently being used. When ls is started, it reads the value of the TERM variable and avoids printing Apple II specific MouseText characters if the set terminal type does not support them.
gsh has set aside certain variables for its specific use. Shell utilities should be aware of these variables and use them appropriately. Use caution when changing shell variables, because the change could affect more than just the shell.