Spec-Zone.ru › Nushell

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API