# Shell command

An action block that executes a shell command.

The fiber will pause until the command has completed.

The command should be formatted as it would when executed at a shell prompt, that includes proper escaping. Use the cliEncode function when including a filename or other text as an argument. Currently the command isn’t executed in actual shell, e.g. bash, so built-in commands without stand-alone executables like `cd`, `echo` and `test` may not work, nor may “piping”, e.g. `|` or `>`, without wrapping the command in `sh -c "command"`

The standard output and error will contain the full text as generated by the command during its execution. The exit code is usually set to `0` (zero) for a successful execution of the command.

## Input arguments

- Command — command to execute, including any arguments.
- Working directory — directory where the command will be executed, default is external storage.

## Output variables

- Standard output text — variable to assign the STDOUT.
- Standard error text — variable to assign the STDERR.
- Exit code — variable to assign the exit code.