<!-- Generated with Stardoc: http://skydoc.bazel.build -->

run_binary() build rule implementation.

Runs a binary as a build action. This rule does not require Bash (unlike native.genrule()).

<a id="run_binary"></a>

## run_binary

<pre>
load("@bazel_skylib//rules:run_binary.bzl", "run_binary")

run_binary(<a href="#run_binary-name">name</a>, <a href="#run_binary-srcs">srcs</a>, <a href="#run_binary-outs">outs</a>, <a href="#run_binary-args">args</a>, <a href="#run_binary-env">env</a>, <a href="#run_binary-tool">tool</a>)
</pre>

Runs a binary as a build action.

This rule does not require Bash (unlike `native.genrule`).

**ATTRIBUTES**


| Name  | Description | Type | Mandatory | Default |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| <a id="run_binary-name"></a>name |  A unique name for this target.   | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required |  |
| <a id="run_binary-srcs"></a>srcs |  Additional inputs of the action.<br><br>These labels are available for `$(execpath)` and `$(location)` expansion in `args` and `env`.   | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional |  `[]`  |
| <a id="run_binary-outs"></a>outs |  Output files generated by the action.<br><br>These labels are available for `$(execpath)` and `$(location)` expansion in `args` and `env`.   | List of labels; <a href="https://bazel.build/reference/be/common-definitions#configurable-attributes">nonconfigurable</a> | required |  |
| <a id="run_binary-args"></a>args |  Command line arguments of the binary.<br><br>Subject to [`$(execpath)` and `$(location)`](https://bazel.build/reference/be/make-variables#predefined_label_variables) expansion.   | List of strings | optional |  `[]`  |
| <a id="run_binary-env"></a>env |  Environment variables of the action.<br><br>Subject to  [`$(execpath)` and `$(location)`](https://bazel.build/reference/be/make-variables#predefined_label_variables) expansion.   | <a href="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a> | optional |  `{}`  |
| <a id="run_binary-tool"></a>tool |  The tool to run in the action.<br><br>Must be the label of a *_binary rule, of a rule that generates an executable file, or of a file that can be executed as a subprocess (e.g. an .exe or .bat file on Windows or a binary with executable permission on Linux). This label is available for `$(execpath)` and `$(location)` expansion in `args` and `env`.   | <a href="https://bazel.build/concepts/labels">Label</a> | required |  |


