From 1c06a5087fdefadbcf4fa44984c608b01703e615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Juli=C3=A1n=20Merelo=20Guerv=C3=B3s?= Date: Mon, 25 Jan 2021 21:56:56 +0100 Subject: [PATCH] Add an example that helps use custom commands as "shell" (#2647) Co-authored-by: Sarah Edwards --- .../reference/workflow-syntax-for-github-actions.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/content/actions/reference/workflow-syntax-for-github-actions.md b/content/actions/reference/workflow-syntax-for-github-actions.md index 866a25064b..cedf49f62e 100644 --- a/content/actions/reference/workflow-syntax-for-github-actions.md +++ b/content/actions/reference/workflow-syntax-for-github-actions.md @@ -701,6 +701,18 @@ steps: You can set the `shell` value to a template string using `command […options] {0} [..more_options]`. {% data variables.product.prodname_dotcom %} interprets the first whitespace-delimited word of the string as the command, and inserts the file name for the temporary script at `{0}`. +For example: + +```yaml +steps: + - name: Display the environment variables and their values + run: | + print %ENV + shell: perl {0} +``` + +The command used, `perl` in this example, must be installed on the runner. For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)." + #### Exit codes and error action preference For built-in shell keywords, we provide the following defaults that are executed by {% data variables.product.prodname_dotcom %}-hosted runners. You should use these guidelines when running shell scripts.