Sidebar: Here Documents
Here Documents allow shell scripts to accept input
redirection from
external sources, such as the command line, ed, or SQL*Plus.
The syntax for a Here Document using ed is:
ed - <filename> << xxUNIQUE_STRINGxx
g/January/s//February/g
.
w
q
xxUNIQUE_STRINGxx
In this example the calling script passes execution
to the ed
editor. ed opens the file <filename> and executes
all commands found between the two occurrences of xxUNIQUE_STRINGxx
(in this case it will change all occurrences of "January"
to "February," then save and quit ed). Execution
then
returns to the calling shell script.
The syntax for a Here Document using SQL*Plus is:
sqlplus <DBUSERID>/<PASSWORD>@<DATABASE> << xxUNIQUE_STRINGxx
SELECT * FROM USER_CATALOG;
quit
xxUNIQUE_STRINGxx
In this example the calling script passes execution
to
SQL*Plus. SQL*Plus connects to the specified database
and executes
all the commands enclosed between the two occurrences
of xxUNIQUE_STRINGxx
(in this case SQL*Plus would simply select everything
from the user's
catalog). Because the output is not redirected, it will
be displayed
on the screen. The Here Document then exits and returns
execution
to the calling shell script.
Note that the terminating xxUNIQUE_STRINGxx must begin
in
column one.
For a good explanation of Here Documents, see O'Reilly
& Associates'
UNIX Power Tools , 1993.
|