Make your own free website on
1.4. Executing Rexx programs with Regina

Rexx programs are generally executed by Regina for the command
line in the following manner:

     regina [switches] [program] [program parameters]
     regina        is the name of the Regina executable (see table
     switches      are optional switches. See the section below
                   for an explanation of the switches currently
                   supported by Regina
     program       the name of the Rexx program to be executed.
                   See the section External Rexx Programs, below,
                   for details on how Regina interprets this
                   argument. If no program name is specified,
                   Regina waits for Rexx commands to be typed in
                   and will execute those commands when the
                   appropriate end-of-file character (^D on Unix
                   and ^Z on DOS, OS/2 and Windows NT/95) is
     program parameters any optional parameters to be passed to
                   the Rexx program.

Rexx programs to be executed by Regina can take advantage of a
feature of Unix shell programs called magic numbers.  By having
the first line of a Rexx program consist of the special sequence
of #! followed by the full file name of the Regina executable,
you can  invoke this program simply by typing the name of the Rexx
program on the command line followed by any parameters you wish to
pass to the Rexx program.  The file name must also have the
appropriate execute bit set for this to work.  As an example
suppose your Rexx program, myprog, contained:

     Parse Version ver
     Say ver

When executing this program from the command line by typing
myprog, the Unix shell program would execute the program
/usr/local/bin/regina and pass the remainder of the lines in the
file to this program via stdin.

The special processing done by Regina to find the file name in
REGINA_MACROS and the file extension searching is not able to be
carried out when using the magic number method of invocation.