export def-env для ядра
Определить пользовательскую команду, участвующую в среде, и экспортировать её из модуля.
Подпись
> export def-env {flags} (name) (params) (block)
Параметры
-
name: имя определения -
params: параметры -
block: тело определения
Типы входных/выходных данных:
| Вход | Выход |
|---|---|
| ничего | ничего |
Примеры
Определить пользовательскую команду, участвующую в среде в модуле, и вызвать её
>modulefoo { export def-envbar [] { $env.FOO_BAR="BAZ" } };usefoobar;bar;$env.FOO_BAR
BAZ
Примечания
This command is a parser keyword. For details, check:
https://www.nushell.sh/book/thinking_in_nu.html
=== EXTRA NOTE ===
All blocks are scoped, including variable definition and environment variable changes.
Because of this, the following doesn't work:
export def-env cd_with_fallback [arg = ""] {
let fall_back_path = "/tmp"
if $arg != "" {
cd $arg
} else {
cd $fall_back_path
}
}
Instead, you have to use cd in the top level scope:
export def-env cd_with_fallback [arg = ""] {
let fall_back_path = "/tmp"
let path = if $arg != "" {
$arg
} else {
$fall_back_path
}
cd $path
}
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/export_def-env.html