docs/pages/getting-started/3-running-scripts.md
2023-07-22 14:25:44 +02:00

58 lines
1.7 KiB
Markdown

<!-- markdownlint-disable MD033 -->
# Running Lune Scripts
After you've written a script file, for example `script-name.luau`, you can run it:
```sh copy
lune script-name
```
This will look for the file `script-name.luau`**_<sup>[1]</sup>_** in a few locations:
- The current directory
- The folder `lune` in the current directory, if it exists
- The folder `.lune` in the current directory, if it exists
- The folder `lune` in the _home_ directory, if it exists
- The folder `.lune` in the _home_ directory, if it exists
## Passing Command-Line Arguments
Arguments can be passed to a Lune script directory from the command line when running it:
```sh copy
lune script-name arg1 arg2 "argument three"
```
These arguments will then be available in your script using `process.args`:
```lua copy
local process = require("@lune/process")
print(process.args)
--> { "arg1", "arg2", "argument three" }
```
## Additional Commands
```sh copy
lune --list
```
Lists all scripts found in `lune` or `.lune` directories, including any top-level description
comments. <br /> Lune description comments are always written at the top of a file and start with a
lua-style comment arrow (`-->`).
```sh copy
lune -
```
Runs a script passed to Lune using stdin. Occasionally useful for running scripts piped to Lune from
external sources.
---
**_<sup>[1]</sup>_** _Lune also supports files with the `.lua` extension but using the `.luau`
extension is highly recommended. Additionally, if you don't want Lune to look in sub-directories or
try to find files with `.lua` / `.luau` extensions at all, you can provide an absolute file path.
This will disable all file path parsing and checks, and just run the file directly._