describe для core
Описать тип и структуру переданных по конвейеру значений.
Сигнатура
> describe {flags}
Флаги
-
--no-collect, -n: Не собирать потоки структурированных данных. -
--detailed, -d: Показать подробную информацию о значении.
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| any | any |
Примеры
Описать тип строки.
> 'hello' | describe string
Подробно описать тип записи.
> {shell:'true', uwu:true, features: {bugs:false, multiplatform:true, speed: 10}, fib: [1 1 2 3 5 8], first_commit: 2019-05-10, my_duration: (4min + 20sec)} | describe -d
╭───────────────┬────────────────────────────────────────────────────────────────────────────────────────────╮
│ type │ record │
│ detailed_type │ record<shell: string, uwu: bool, features: record<bugs: bool, multiplatform: bool, speed: │
│ │ int>, fib: list<int>, first_commit: datetime, my_duration: duration> │
│ │ ╭──────────────┬─────────────────────────────────────────────────────────────────────────╮ │
│ columns │ │ │ ╭───────────────┬────────────────────────╮ │ │
│ │ │ shell │ │ type │ string │ │ │
│ │ │ │ │ detailed_type │ string │ │ │
│ │ │ │ │ rust_type │ &alloc::string::String │ │ │
│ │ │ │ │ value │ true │ │ │
│ │ │ │ ╰───────────────┴────────────────────────╯ │ │
│ │ │ │ ╭───────────────┬──────╮ │ │
│ │ │ uwu │ │ type │ bool │ │ │
│ │ │ │ │ detailed_type │ bool │ │ │
│ │ │ │ │ rust_type │ bool │ │ │
│ │ │ │ │ value │ true │ │ │
│ │ │ │ ╰───────────────┴──────╯ │ │
│ │ │ │ ╭───────────────┬─────────────────────────────────────────────────────╮ │ │
│ │ │ features │ │ type │ record │ │ │
│ │ │ │ │ detailed_type │ record<bugs: bool, multiplatform: bool, speed: int> │ │ │
│ │ │ │ │ │ ╭───────────────┬─────────────────────────────────╮ │ │ │
│ │ │ │ │ columns │ │ │ ╭──────────────────┬──────────╮ │ │ │ │
│ │ │ │ │ │ │ bugs │ │ type │ bool │ │ │ │ │
│ │ │ │ │ │ │ │ │ detailed_type │ bool │ │ │ │ │
│ │ │ │ │ │ │ │ │ rust_type │ bool │ │ │ │ │
│ │ │ │ │ │ │ │ │ value │ false │ │ │ │ │
│ │ │ │ │ │ │ │ ╰──────────────────┴──────────╯ │ │ │ │
│ │ │ │ │ │ │ │ ╭───────────────┬──────╮ │ │ │ │
│ │ │ │ │ │ │ multiplatform │ │ type │ bool │ │ │ │ │
│ │ │ │ │ │ │ │ │ detailed_type │ bool │ │ │ │ │
│ │ │ │ │ │ │ │ │ rust_type │ bool │ │ │ │ │
│ │ │ │ │ │ │ │ │ value │ true │ │ │ │ │
│ │ │ │ │ │ │ │ ╰───────────────┴──────╯ │ │ │ │
│ │ │ │ │ │ │ │ ╭───────────────┬─────╮ │ │ │ │
│ │ │ │ │ │ │ speed │ │ type │ int │ │ │ │ │
│ │ │ │ │ │ │ │ │ detailed_type │ int │ │ │ │ │
│ │ │ │ │ │ │ │ │ rust_type │ i64 │ │ │ │ │
│ │ │ │ │ │ │ │ │ value │ 10 │ │ │ │ │
│ │ │ │ │ │ │ │ ╰───────────────┴─────╯ │ │ │ │
│ │ │ │ │ │ ╰───────────────┴─────────────────────────────────╯ │ │ │
│ │ │ │ │ rust_type │ &nu_utils::shared_cow::SharedCow<nu_protocol::value │ │ │
│ │ │ │ │ │ ::record::Record> │ │ │
│ │ │ │ ╰───────────────┴─────────────────────────────────────────────────────╯ │ │
│ │ │ │ ╭─────────────────┬───────────────────────────────────────────────────╮ │ │
│ │ │ fib │ │ type │ list │ │ │
│ │ │ │ │ detailed_type │ list<int> │ │ │
│ │ │ │ │ length │ 6 │ │ │
│ │ │ │ │ rust_type │ &mut alloc::vec::Vec<nu_protocol::value::Value> │ │ │
│ │ │ │ │ │ ╭───┬──────┬───────────────┬───────────┬───────╮ │ │ │
│ │ │ │ │ value │ │ # │ type │ detailed_type │ rust_type │ value │ │ │ │
│ │ │ │ │ │ ├───┼──────┼───────────────┼───────────┼───────┤ │ │ │
│ │ │ │ │ │ │ 0 │ int │ int │ i64 │ 1 │ │ │ │
│ │ │ │ │ │ │ 1 │ int │ int │ i64 │ 1 │ │ │ │
│ │ │ │ │ │ │ 2 │ int │ int │ i64 │ 2 │ │ │ │
│ │ │ │ │ │ │ 3 │ int │ int │ i64 │ 3 │ │ │ │
│ │ │ │ │ │ │ 4 │ int │ int │ i64 │ 5 │ │ │ │
│ │ │ │ │ │ │ 5 │ int │ int │ i64 │ 8 │ │ │ │
│ │ │ │ │ │ ╰───┴──────┴───────────────┴───────────┴───────╯ │ │ │
│ │ │ │ ╰─────────────────┴───────────────────────────────────────────────────╯ │ │
│ │ │ │ ╭───────────────┬─────────────────────────────────────────────────────╮ │ │
│ │ │ first_commit │ │ type │ datetime │ │ │
│ │ │ │ │ detailed_type │ datetime │ │ │
│ │ │ │ │ rust_type │ chrono::datetime::DateTime<chrono::offset::fixed::F │ │ │
│ │ │ │ │ │ ixedOffset> │ │ │
│ │ │ │ │ value │ 7 years ago │ │ │
│ │ │ │ ╰───────────────┴─────────────────────────────────────────────────────╯ │ │
│ │ │ │ ╭───────────────┬────────────╮ │ │
│ │ │ my_duration │ │ type │ duration │ │ │
│ │ │ │ │ detailed_type │ duration │ │ │
│ │ │ │ │ rust_type │ i64 │ │ │
│ │ │ │ │ value │ 4min 20sec │ │ │
│ │ │ │ ╰───────────────┴────────────╯ │ │
│ │ ╰──────────────┴─────────────────────────────────────────────────────────────────────────╯ │
│ rust_type │ &nu_utils::shared_cow::SharedCow<nu_protocol::value::record::Record> │
╰───────────────┴────────────────────────────────────────────────────────────────────────────────────────────╯
Подробно описать тип потока.
> [1 2 3] | each {|i| echo $i} | describe -dОписать поток данных, предварительно собрав его.
> [1 2 3] | each {|i| echo $i} | describeОписать входные данные, не собирая потоки.
> [1 2 3] | each {|i| echo $i} | describe --no-collect
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/describe.html