Command Line Input and Output
The envitaskengine executable handles input and output using stdin
and stdout
. Any errors that were generated are sent to stderr
. The envitaskengine executable also returns an exit code that you can check.
For working examples of command line input and output, see ENVITaskEngine Examples.
Input
Specify input as a JSON string that contains a taskName
key with the desired ENVITask name and an inputParameters
key with the task parameters. If the ENVITask does not require any parameters, then you can omit the inputParameters
key. See Supported Data Types for additional details.
Key: |
|
Value: |
The base name of an ENVITask or an explicit path to a task file ( |
Key: |
|
Value: |
Task input parameters and their values. Each element of the JSON input is a key/value pair with a parameter name and value. Use the QueryTask task to get a list of parameters for a given task. See an example. |
Example of Input
{
"taskName": "ISODATAClassification",
"inputParameters": {
"input_raster": {
"url": "/home/idl/qb_boulder_msi",
"factory": "URLRaster"
},
"number_of_classes": 5,
"change_threshold_percent": 2,
"iterations": 10
}
}
Output
Output is sent to stdout
in JSON format. If the task generates output, it will be in an outputParameters
key.
Key: |
|
Value: |
Task output parameters and their values. Each element of the JSON output is a key/value pair with a parameter name and value. |
Example of Output
{
"outputParameters": {
"output_raster_uri": {
"url": "output.dat",
"factory": "URLRaster"
}
}
}
Errors
Errors and warnings are sent to stderr
. For example, issuing the following command:
echo {"taskName":"doesnotexist"} | envitaskengine
results in the following output via stderr
:
ENVITASK: No task matches: doesnotexist
Exit Status
The envitaskengine executable returns the following values indicating its exit status:
- 0: Success
- 1: General error
- 2: IDL interpreter stopped unexpectedly
- 128 + n: Application received fatal error signal "n"
Scripts that call the envitaskengine executable should check the exit status after running the executable. Bash scripts can do this using the $? environment variable. Windows batch scripts can do this using the %ERRORLEVEL% environment variable.