10383: Merge branch 'master' into 10383-arv-put-incremental-upload
[arvados.git] / doc / user / topics / run-command.html.textile.liquid
index 5ffeb1836701dc83735e0377af0ce72ed228ff19..78839196967260dace26bc7791c72656ab85d0c1 100644 (file)
@@ -6,6 +6,8 @@ title: "run-command reference"
 
 The @run-command@ crunch script enables you run command line programs.
 
+{% include 'tutorial_expectations_workstation' %}
+
 h1. Using run-command
 
 The basic @run-command@ process evaluates its inputs and builds a command line, executes the command, and saves the contents of the output directory back to Keep.  For large datasets, @run-command@ can schedule concurrent tasks to execute the wrapped program over a range of inputs (see @task.foreach@ below.)
@@ -237,6 +239,19 @@ Provide standard input and standard output redirection.
 
 @task.stdout@ specifies the desired file name in the output directory to save the content of standard output.  When command describes a Unix pipeline, this captures the output of the last command.
 
+h3. task.env
+
+Set environment variables for the command.  Accepts an object mapping environment variables to the desired values.  Parameter substitution is performed on values, but not on the environment variable names themselves.  Example usage:
+
+<pre>
+{
+  "command": ["/bin/sh", "-c", "echo $MY_ENV_VAR"],
+  "task.env": {
+    "MY_ENV_VAR": "Hello world!"
+  }
+}
+</pre>
+
 h3. task.vwd
 
 Background: because Keep collections are read-only, this does not play well with certain tools that expect to be able to write their outputs alongside their inputs (such as tools that generate indexes that are closely associated with the original file.)  The run-command's solution to this is the "virtual working directory".