=====                                               DISview [518]
shell
!
=====

_________________________________________________________________
shell [<program>] [<parameters>]
! [<program>] [<parameters>]
_________________________________________________________________
The 'shell' and '!' commands suspend YAN and let you escape to a
sub-shell (e.g. COMMAND.COM in DOS).

NOTE:
 1.  If 'multitask' is set to 'off' (the default), YAN activity
     is frozen whilst you are working under the sub-shell.
     If you want to shell (or use the edit or mail commands) and
     have YAN continue to multitask, you *must* have issued
     'multitask on' beforhand, preferably in the autoexec.net.
 2.  If you want to issue shell commands from fkey definitions
     and specify a path, use the form c:\\demon\\prog.exe. Single
     slashes, backwards or forwards, don't work and can really
     ruin your day.
 3.  Shelling from programs running while shelled is possible,
     but *very* demanding of memory. Expect the second shell to
     "loose" about 90k.

When you leave the sub-shell (with the EXIT command in DOS), you
are returned to NET.

Note that for the 'shell' and '!' commands to be useful there
must be sufficient unused memory for the sub-shell and any
commands which you wish to run under the sub-shell.
Starting programs with the shell command, as opposed to shelling
out and then starting them, is more memory efficient since no
command processor is required, but you can't use redirection.
If you do want to redirect output you must run a command
processor of some sort. The default can be invoked with /c. 

Errors:

It is assumed that any activity which returns a non-zero code has
had some sort of error and some attempt is made to report it.
Two types of error can be reported, those from the shelling
process and those from the program run. Only the codes from the
shelling process can be detailed here.

Code  Meaning
 2    path or filename not found
 8    not enough memory
19    invalid argument
20    argument list too long
21    exec format error 

>> Examples:  !                 - shell out and run command proc
              sh pcelm          - shell out and run pcelm without
                                    loading the command processor
              ! /c mem > memlog - shell out and run the DOS mem
                                    command with the output being
                                    redirected to a file called
                                    memlog
