XEQ


XEQ


Executes any program or command file. Use the XEQ command to
prevent any possible confusion when the name of the program or
command file you want to execute is identical to the name of a
built-in MPE/iX command or a user-defined command (UDC).

You must have read or execute access to the program or command
file specified on the XEQ command line.

SYNTAX (for command files)


XEQ filename [parameterlist]

SYNTAX (for program files)


XEQ filename [[;INFO=]quotedstring][[;PARM=]parmvalue]

PARAMETERS


filename The actual file name of the command file or program
file to be executed. The search path (HPPATH) is
used if filename is not qualified.

parameterlist The list of parameters passed to filename when
executing a command file. This list corresponds to
the PARM line of the command file you intend to
execute. When executing a program file, this list
corresponds to the ;INFO= string or the to PARM=
parameter or to both combined.

quotedstring Specifies a parameter string for those program files
that accept a parameter string.

parmvalue Specifies a parameter for a program file to be executed.

OPERATION

     This command executes filename, which may be a command file
     or a program file.  XEQ uses the search path defined by the
     HPPATH variable.  XEQ is needed only when filename references
an existing, built-in MPE/iX command or a UDC command, but it
may be used for any executable file.

Searching for Command Files and UDCs

With the introduction of POSIX in Release 5.0 of MPE/iX,
command files can reside in the Hierarchical File System (HFS)
and follow the more flexible POSIX naming conventions. For
example, a command file can now be named "find_deduction", "123"
or "AutoExec.BAT." UDC files are still restricted to MPE naming rules.

If filename is a qualified MPE or POSIX filename such as
"file.grp", "*feq", "$oldpass", "/bin/ls", "./do_it", then the
HPPATH variable is not used to execute the command or UDC.
Qualified MPE filenames include "file.group", "file.group.account",
and backreferences to a file equation and system-defined files,
such as $OLDPASS. Qualified POSIX names are absolute pathnames
(the name starts at root, "/name"), or Current Working Directory
(CWD) relative names (the name starts at the user's current
working directory, "./name").

The command file named "a/b" can be considered a qualified POSIX
name (file "b" under directory "a"), but for compatibility reasons
this is first treated as an unqualified MPE name with a supplied
lockword. Actually, "file.grp" could be an unqualified POSIX
name (in which case HPPATH is used), but the MPE file "FILE" in
the MPE group "GRP" is looked for first. In all cases, the MPE
name is searched before the POSIX name.

To execute unqualified POSIX-named command files, HPPATH must
contain one or more entries specified in MPE-ESCAPED syntax.
That is, the name must begin with a dot (".") or a slash ("/").
Since the default HPPATH, "!hpgroup,PUB,PUB.SYS,ARPA.SYS,
contains no MPE-ESCAPED named entries, MPE/iX cannot locate
unqualified POSIX-named command files unless you modify HPPATH.
For example, if you define HPPATH to be "PUB.SYS,/bin,./mybin"
then unqualified POSIX-named command files can be located in
/bin and in CWD/mybin. To place POSIX-named command files in
PUB.SYS, the System Manager needs to add a /SYS/PUB entry to HPPATH.

MPE/iX processes MPE- or POSIX-named command files according to
the following rules:

* The command name is parsed twice, first via MPE rules and then
via POSIX syntax rules.

* If the name is a qualified MPE name (e.g., "a.b"), it is tried
first.

* If no matching file is found and the name is not a qualified
POSIX name, then HPPATH is used to try to locate the name.
(1) MPE path elements (group.accounts) are appended to the MPE
parsed version of the command filename or POSIX path
elements (directories) are prepended to the POSIX parsed
version of the command name. (2) The name, qualified by the
appropriate HPPATH element, is searched for until the first match.

* If a file matching the command filename has still not been
located and the command name is a qualified POSIX name
(e.g., "./a", "/a", "a/b") then that exact name is searched for.

At this point either there is a match or an "unknown command"
error is reported.

NOTE

     The same command filename can be both a qualified MPE name and a
qualified POSIX name, e.g., "a/b.c". This name could refer to
file "A" in group "C" with lockword "B", or file "b.c" under
directory "a". The qualified MPE version of the name is tried first.


USE

This command may be issued from a session, job, or program,
or in BREAK. Whether or not the command is breakable depends
upon what is being executed at the time you press [Break].
Files may terminate or suspend execution, unless they specify
OPTION NOBREAK.

EXAMPLE(S)


To execute a command file named fcopy.pub.myacct, enter

XEQ fcopy

Because FCOPY references an existing, built-in MPE/iX
command, failing to use XEQ would result in running FCOPY.
That would happen because FCOPY would be found in the
command directory and would be executed, and the command
search would terminate.

ADDITIONAL INFORMATION

Help    :   Type HELP HPPATH at the colon (:) prompt, or type
HPPATH at the Help facility (>) prompt to see an
explanation of the HPPATH variable.