Script Recipes

Recipes with a [script(COMMAND)]1.32.0 attribute are run as scripts interpreted by COMMAND. This avoids some of the issues with shebang recipes, such as the use of cygpath on Windows, the need to use /usr/bin/env, and inconsistences in shebang line splitting across Unix OSs.

Recipes with an empty [script] attribute are executed with the value of set script-interpreter := […]1.33.0, defaulting to sh -eu, and not the value of set shell.

The body of the recipe is evaluated, written to disk in the temporary directory, and run by passing its path as an argument to COMMAND.

The [script(…)] attribute is unstable, so you’ll need to use set unstable, set the JUST_UNSTABLE environment variable, or pass --unstable on the command line.