[Overview][Constants][Types][Procedures and functions][Index] Reference for unit 'amigados' (#aros)

Execute

Execute a CLI command

Declaration

Source position: amigados.pas line 2279

function Execute(

  const String_: STRPTR;

  Input: BPTR;

  Output: BPTR

):LongInt;

Arguments

String_

  

commandString

Input

  

File handle as input stream

Output

  

File handle as output stream

Function result

Boolean indicating whether Execute was successful in finding and starting the specified program. Note this is not the return code of the command(s).

Description

This function attempts to execute the string commandString as a Shell command and arguments. The string can contain any valid input that you could type directly in a Shell, including input and output redirection using < and >. Note that Execute() doesn't return until the command(s) in commandstring have returned.

The input file handle will normally be zero, and in this case Execute() will perform whatever was requested in the commandString and then return. If the input file handle is nonzero then after the (possibly empty) commandString is performed subsequent input is read from the specified input file handle until end of that file is reached.

In most cases the output file handle must be provided, and is used by the Shell commands as their output stream unless output redirection was specified. If the output file handle is set to zero then the current window, normally specified as *, is used. Note that programs running under the Workbench do not normally have a current window.

Execute() may also be used to create a new interactive Shell process just like those created with the NewShell command. In order to do this you would call Execute() with an empty commandString, and pass a file handle relating to a new window as the input file handle. The output file handle would be set to zero. The Shell will read commands from the new window, and will use the same window for output. This new Shell window can only be terminated by using the EndCLI command.


Documentation generated on: 2017-01-10