:: OSHELL ::
Syntax: O(SHELL) <operating system command>
Executes a operating system command.
If OSHELL is entered without command, operation system shell is started
until you type "EXIT". If you change directory while in OSHELL mode, BBS
is setting the directory back to "/bcm" after EXIT.
If you are running Linux, shell sh is started. Parameter DOSINPUT don't
care running Linux.
Following restrictions must be noticed when running DOS:
Command interpreter is used from system variable COMSPEC, if COMSPEC
is undefined command.com is started.
The execution depends on parameter DOSINPUT, if DOSINPUT is set to 0
you must expect following:
As usual DOS command system calls can only write to standard output (no
direct screen output). Command isn't allowed to wait for ANY user input.
If a program waits for user input, BBS watchdog will hopeful reset PC
If DOSINPUT is set to 1, user input for dos commands are allowed.
For example it's possible to use "o time". So it's recommented to use
this setting for remote sysop.
- outputs must write to standard output (no direct screen output)
- input must be "normal" letters incl. CTRL-chars; function keys,
ALT keys, cursor keys etc. CANNOT be used for input
- if DOS command is running, the whole BBS is stopped (no
multitasking), this happens also if dos programs is waiting for
input; the watchdog resets PC after 30 minutes
- the program SHROOM for swapping BCM and getting more memory
isn't working with DOSINPUT 1
- while a dos program is running, the input queue is permantly
tested; this can lead to the "nice" behaviour that after sending
dos command one letter is cut; a command like "o dir;d dl8mbt"
is not working, because "d" in buffer is cut bei DOS; this effect
only happens when using DOSINPUT 1
NOTE: In both cases the BBS is stopped while DOS commands are executed,
because external programs can't be executed through multitasking of BBS.
So you should only start small programs. After 30 minutes the watchdog
resets PC. There are some problems with DOS 7.0 and higher reported.