(UNIX only)
Runs a program, UNIX command, or UNIX script, or starts a UNIX interactive shell to allow interactive processing of UNIX commands.
After processing a UNIX statement, the AVM shell pauses and prompts you to press SPACEBAR to continue. You can use the SILENT option to eliminate this pause. Use this option only if you are sure that the UNIX program, command, or batch file does not generate any output to the screen.
One or more command (command-token) words and symbols that you want to pass the UNIX operating system to execute. The VALUE option generates the command tokens included in expression, a character string expression. The specified combination of command-token and VALUE ( expression ) options can form any legal combination of commands and command options permitted by UNIX, including programs, built-in commands, and scripts. If you do not use any of these options, the UNIX statement invokes the UNIX shell and remains there until you press CTRL+D or the EOF character set by the UNIX stty command.
On UNIX, procedure r-unix.p starts a shell and in it runs the UNIX "ls" command. In Windows, this procedure starts a command processor and runs the DOS "dir" command in it:
r-unix.p
IF OPSYS = "UNIX" THEN UNIX ls. ELSE IF OPSYS = "WIN32" THEN DOS dir. ELSE DISPLAY OPSYS "is an unsupported operating system". |
In r-unx.p, if you type an L, the AVM runs the DOS dir command or the UNIX ls command. If you enter a procedure name that is stored in the proc variable, the RUN statement then runs the procedure.
r-unx.p
DEFINE VARIABLE proc AS CHARACTER NO-UNDO FORMAT "x(40)". REPEAT: DISPLAY "Enter L to list your files" WITH ROW 5 CENTERED FRAME a. SET proc LABEL "Enter a valid Procedure Name to run" WITH ROW 9 CENTERED FRAME b. IF proc = "L" THEN IF OPSYS = "UNIX" THEN UNIX ls. ELSE IF OPSYS = "WIN32" then DOS dir. ELSE display "Operating system" OPSYS "is not supported". ELSE DO: HIDE FRAME a. HIDE FRAME b. RUN VALUE(proc). END. END. |
To use the period as part of a UNIX command, enclose the command in quotation marks. For example: