4
***********************************************************************
5
FUNNELWEB MANUAL WEB PAGE
6
=========================
7
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
9
Permission is granted to redistribute and use this manual in
10
any medium, with or without modification, provided that all
11
notices (including, without limitation, the copyright
12
notice, this permission notice, any record of modification,
13
and all legal notices) are preserved on all copies, that all
14
modifications are clearly marked, and that modified versions
15
are not represented as the original version unless all the
16
modifications since the manual's original release by Ross N.
17
Williams (www.ross.net) consist of translations or other
18
transformations that alter only the manual's form, not its
19
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
20
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
21
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
22
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
23
LAW THERE IS ABSOLUTELY NO WARRANTY.
25
***********************************************************************
29
<TITLE>8.4 String Substitution</TITLE>
30
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
32
<BODY BACKGROUND="binary/background.gif"
41
<TD WIDTH="130" VALIGN="top">
42
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
47
<A HREF="http://www.ross.net/"
49
onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
51
<IMG SRC="binary/rossnet_logo.gif"
52
WIDTH="64" HEIGHT="32"
53
BORDER="0" ALT="RossNet"
54
HSPACE="0" VSPACE="1"></A><BR>
57
<A HREF="../index.shtml"
59
onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
61
<IMG SRC="binary/linklogo.gif"
62
WIDTH="64" HEIGHT="32"
63
BORDER="0" ALT="FunnelWeb"
64
HSPACE="0" VSPACE="1"></A><BR>
66
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
67
<A HREF="../tutorial/index.html"
68
TARGET="funnelwebtutorial"
69
onClick="window.open('','funnelwebtutorial','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
70
><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
72
<A HREF="../developer/index.html"
73
TARGET="funnelwebdeveloper"
74
onClick="window.open('','funnelwebdeveloper','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
75
><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
77
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
78
<A HREF="intro.html"><FONT COLOR="#FFFFFF">1 Introduction</FONT></A><BR>
79
<A HREF="interface.html"><FONT COLOR="#FFFFFF">2 Interface</FONT></A><BR>
80
<A HREF="scanner.html"><FONT COLOR="#FFFFFF">3 Scanner</FONT></A><BR>
81
<A HREF="parser.html"><FONT COLOR="#FFFFFF">4 Parser</FONT></A><BR>
82
<A HREF="analyser.html"><FONT COLOR="#FFFFFF">5 Analyser</FONT></A><BR>
83
<A HREF="tangle.html"><FONT COLOR="#FFFFFF">6 Tangle</FONT></A><BR>
84
<A HREF="weave.html"><FONT COLOR="#FFFFFF">7 Weave</FONT></A><BR>
85
<A HREF="shell.html"><FONT COLOR="#FFFFFF">8 Shell</FONT></A><BR>
86
<A HREF="commands.html"><FONT COLOR="#FFFFFF">9 Commands</FONT></A><BR>
87
<A HREF="glossary.html"><FONT COLOR="#FFFFFF">10 Glossary</FONT></A><BR>
88
<A HREF="references.html"><FONT COLOR="#FFFFFF">11 References</FONT></A><BR>
91
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
97
<TD WIDTH="360" VALIGN="top">
101
<A HREF="index.html"><IMG SRC="binary/title.gif"
102
WIDTH="316" HEIGHT="24"
103
BORDER="0" ALT="FunnelWeb Reference Manual"
104
HSPACE="0" VSPACE="0"></A>
105
<P><FONT SIZE="5">8.4 String Substitution</FONT><BR>
108
<P>Most command shells provide some form of string
109
substitution so as to provide some degree of
110
parameterization. The FunnelWeb shell provides 36 different
111
string variables named <SAMP>$0..$9</SAMP> and <SAMP>$A..$Z</SAMP>
112
(case insensitive). Each variable can hold a string
113
containing any sequence of printable characters and can be
114
as long as a command line.
116
<P>The <SAMP>define</SAMP> command
117
allows the user to assign a value to these variables. The
118
<SAMP>define</SAMP> command takes two arguments. The first is
119
the digit or letter of the variable to be defined. The
120
second is a double quote delimited string being the string
121
value to be assigned to the variable. If you want to include
122
a double quote character within the string, you don't need
129
define 3 "/root/usr/dave/workdir/fwdir/testdir"
130
define M "/user/local/rubbish/bin/fw"
131
define Q "You don't need to double" double quotes"
134
<P>Only the identifying character of the variable being
135
assigned is used in the definition. This syntax is a simple
136
way of preventing the variable from being substituted before
137
it has a chance to be defined!
139
<P>The following points clean up the remaining semantic
144
<LI> There is only one set of variables and they are
145
global to all shellscripts. There are <I>no local
148
<LI> When a shellscript is invoked using the
149
<SAMP>execute</SAMP> command, the substitution variables
150
<SAMP>0</SAMP> through <SAMP>9</SAMP> are affected. See the
151
EXECUTE command for more details.
153
<LI> If you want to include a dollar sign character in a
154
command use "<TT>$$</TT>".
156
<LI> FunnelWeb also defines "<TT>$/</TT>" which
157
translates to the character that separates directory and
158
file name fields in file names on the host machine. For
159
example: Sun="<TT>/</TT>", Vax="<TT>]</TT>",
160
Mac="<TT>:</TT>", PC="<TT>\</TT>".
162
<LI> Substitution is not performed recursively.
170
<TD ALIGN="left" VALIGN="bottom"><A HREF="shell_linelen.html"><IMG SRC="binary/fw_left.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Prev"></A></TD>
171
<TD ALIGN="center" VALIGN="bottom"><A HREF="shell.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
172
<TD ALIGN="right" VALIGN="bottom"><A HREF="shell_processing.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
181
<A HREF="mailto:webmaster@ross.net">Webmaster</A>
182
<A HREF="copyright.html">Copyright © Ross N. Williams 1992,1999. All rights reserved.</A><BR>
194
<!-- *********************************************************************** -->
195
<!-- End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/) -->
196
<!-- *********************************************************************** -->