nushell/docs/commands/module.md

34 lines
697 B
Markdown

---
title: module
layout: command
version: 0.59.1
---
Define a custom module
## Signature
```> module (module_name) (block)```
## Parameters
- `module_name`: module name
- `block`: body of the module
## Examples
Define a custom command in a module and call it
```shell
> module spam { export def foo [] { "foo" } }; use spam foo; foo
```
Define an environment variable in a module and evaluate it
```shell
> module foo { export env FOO_ENV { "BAZ" } }; use foo FOO_ENV; $env.FOO_ENV
```
Define a custom command that participates in the environment in a module and call it
```shell
> module foo { export def-env bar [] { let-env FOO_BAR = "BAZ" } }; use foo bar; bar; $env.FOO_BAR
```