XEQ

Generated from C.60.01 /SYS/PUB/CICAT last modified on Thu Jan 11 09:18:52 2001

Back to Main Index


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.  (NM)

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.


Back to Main Index