# Unix Scripting RETRO on Unix hosts is designed to play well with scripting. Shebang To run an entire program directly, start the file with the standard shebang and make the file executable: #!/usr/bin/env retro This requires the retro binary to be in your path. ## Arguments RETRO provides several words in the `script:` namespace for accessing command line arguments. The number of arguments can be accessed via `script:arguments`. This will return a number with the arguments, other than the script name. script:arguments '%n_arguments_passed\n s:format s:put To retreive an argument, pass the argument number to `script:get-argument`: script:arguments [ I script:get-argument s:put nl ] indexed-times And to get the name of the script, use `script:name`. script:name s:put ## Mixing With use of the Unu literate format, it's possible to mix both shell and RETRO code into a single script. As an example, this is a bit of shell that runs itself via retro for each .retro file in the current directory tree: #!/bin/sh # shell part find . -name '*.retro' -print0 | xargs -0 -n 1 retro $0 exit # retro part This will scan a source file and do something with it: ~~~ ... do stuff ... ~~~