2023-02-23 17:43:18 +00:00
<!-- markdownlint - disable MD033 -->
# 🏃 Running Lune Scripts
After you've written a script file, for example `script-name.luau` , you can run it:
```sh
lune script-name
```
This will look for the file `script-name.luau` **_< sup > [1]</ sup > _** in a few locations:
2023-03-07 21:07:53 +00:00
- The current directory
- The folder `lune` in the current directory, if it exists
- The folder `.lune` in the current directory, if it exists
2023-02-23 17:43:18 +00:00
## 🎛️ Passing Command-Line Arguments
Arguments can be passed to a Lune script directory from the command line when running it:
```sh
lune script-name arg1 arg2 "argument three"
```
These arguments will then be available in your script using `process.args` :
```lua
print(process.args)
--> { "arg1", "arg2", "argument three" }
```
## 💭 Additional Commands
```sh
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 (`-->`).
2023-03-07 21:07:53 +00:00
```sh
lune -
```
Runs a script passed to Lune using stdin. Occasionally useful for running scripts piped to Lune from external sources.
2023-02-23 17:43:18 +00:00
---
2023-03-08 11:09:45 +00:00
**_< 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._