forked from extern/nushell
34 lines
697 B
Markdown
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
|
|
```
|