String Substitution

Most command shells provide some form of string substitution so as to provide some degree of parameterization. The FunnelWeb shell provides 36 different string variables named $0..$9 and $A..$Z (case insensitive). Each variable can hold a string containing any sequence of printable characters and can be as long as a command line.

The define command allows the user to assign a value to these variables. The define command takes two arguments. The first is the digit or letter of the variable to be defined. The second is a double quote delimited string being the string value to be assigned to the variable. If you want to include a double quote character within the string, you don't need to double it.

Examples:

define 3 "/root/usr/usrs/users/users5/thisuser/workdir/fwdir/testdir"
define M "/user/local/rubbish/bin/fw"
define Q "You don't need to double" double quotes"

Only the identifying character of the variable being assigned is used in the definition. This syntax is a simple way of preventing the variable from being substituted before it has a chance to be defined!

The following points clean up the remaining semantic details: