/** $VER: CmdShell.acrx 1.0 (08 Jun 1994) ** ArCo's ** Original by David N. Junod ** Modified by Bill Hawes ** Modified by Michael Sewell **/ OPTIONS RESULTS OPTIONS FAILAT 100 OPTIONS PROMPT "Cmd> " ADDRESS ARCO /* Display instructions */ /* SAY 'Enter commands, or press CTRL-\ to exit.' */ /* Get input until the user closes the Command Shell */ DO FOREVER /* Wait until the user types a command followed by RETURN */ PARSE PULL cmdString SELECT WHEN (cmdString = "") | (UPPER(cmdString) = "Q") | (UPPER(cmdString) = "ENDCLI") THEN do LEAVE END OTHERWISE DO CALL HandleCmd(cmdString) END; END END RETURN HandleCmd: PROCEDURE PARSE ARG cmdString /* Execute the command */ cmdString /* See if the command succeeded */ IF RC = 0 THEN do IF symbol('RESULT') == "VAR" THEN DO SAY RESULT END RETURN END /* Wasn't an editor command, try running it as an ARexx script */ if RC > 0 THEN DO ADDRESS REXX cmdString /* Wasn't an ARexx script, try running it as a CLI command */ IF RC > 0 THEN DO ADDRESS COMMAND cmdString END END; RETURN /* end of HandleCmd() */