do для core
Выполнить замыкание, передав ему входные данные конвейера.
Сигнатура
> do {flags} (closure) ...rest
Флаги
-
--ignore-errors, -i: Игнорировать ошибки во время выполнения замыкания. -
--capture-errors, -c: Перехватывать ошибки во время выполнения замыкания и возвращать их. -
--env: Сохранить окружение, определённое внутри команды.
Параметры
-
closure: Замыкание для выполнения. -
...rest: Параметр(ы) замыкания.
Типы входных/выходных данных:
| входные данные | выходные данные |
|---|---|
| any | any |
Примеры
Выполнить замыкание.
> do { echo hello }
helloВыполнить сохранённое первоклассное замыкание.
> let text = "I am enclosed"; let hello = {|| echo $text}; do $hello
I am enclosedВыполнить замыкание и игнорировать ошибки оболочки и внешних программ.
> do --ignore-errors { thisisnotarealcommand }Прервать конвейер, если программа возвращает ненулевой код завершения.
> do --capture-errors { nu --commands 'exit 1' } | myscarycommandВыполнить замыкание с позиционным параметром, тип которого проверяется.
> do {|x:int| 100 + $x } 77
177Выполнить замыкание с входными данными конвейера.
> 77 | do { 100 + $in }
177Выполнить замыкание со значением параметра по умолчанию.
> 77 | do {|x=100| $x + $in }
177Выполнить замыкание с двумя позиционными параметрами.
> do {|x,y| $x + $y } 77 100
177Выполнить замыкание и сохранить изменения окружения.
> do --env { $env.foo = 'bar' }; $env.foo
bar
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/do.html