The standard library is a pure-nushell
collection of custom commands which
provide interactive utilities and building blocks for users writing casual scripts or complex applications.
To see what's here: ```
use std help commands | select name usage | where name =~ "std " ╭────┬─────────────────────────────┬────────────────────────────────────────────────────────────────╮ │ # │ name │ usage │ ├────┼─────────────────────────────┼────────────────────────────────────────────────────────────────┤ │ 0 │ std assert │ Universal assert command │ │ 1 │ std assert equal │ Assert $left == $right │ . . . │ 11 │ std clip │ put the end of a pipe into the system clipboard. │ │ 12 │ std dirs add │ Add one or more directories to the list. │ . . . ├────┼─────────────────────────────┼────────────────────────────────────────────────────────────────┤ │ # │ name │ usage │ ╰────┴─────────────────────────────┴────────────────────────────────────────────────────────────────╯ ```
All commands in the standard library must be "imported" into the running environment
(the interactive read-execute-print-loop (REPL) or a .nu
script) using the
use
command.
You can choose to import the whole module, but then must refer to individual commands with a std
prefix, e.g:
```nushell
use std
std log debug "Running now"
std assert (1 == 2)
Or you can enumerate the specific commands you want to import and invoke them without the `std` prefix.
nushell
use std ["log debug" assert]
log debug "Running again"
assert (2 == 1)
``
This is probably the form of import you'll want to add to your
env.nu` for interactive use.
You're invited to contribute to the standard library! See [CONTRIBUTING.md] for details