Runs a shell command

Allows running an arbitrary shell command.
Be aware of a specific behavior of sh action with regard to the working directory. For details, refer to Advanced.

Supported platforms ios, android, mac
Author @KrauseFx
Returns Outputs the string and executes it. When running in tests, it returns the actual command instead of executing it

2 Examples

sh("git", "commit", "-m", "My message")


Key Description Default
command Shell command to be executed
log Determines whether fastlane should print out the executed command itself and output of the executed command. If command line option --troubleshoot is used, then it overrides this option to true true
error_callback A callback invoked with the command output if there is a non-zero exit status

* = default value is dependent on the user's system


To show the documentation in your terminal, run

fastlane action sh


It is recommended to add the above action into your Fastfile, however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal

fastlane run sh

To pass parameters, make use of the : symbol, for example

fastlane run sh parameter1:"value1" parameter2:"value2"

It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. param:"1,2,3"). Hashes are not currently supported.

It is recommended to add all fastlane actions you use to your Fastfile.

Source code

This action, just like the rest of fastlane, is fully open source, view the source code on GitHub

Back to actions