nu
Run shell commands and manipulate structured data
TLDR
Start an interactive shell session
Execute specific commands
Execute a specific script
Execute a specific script with logging
SYNOPSIS
nu [options] [script_file] [args...]
nu -c
PARAMETERS
-c, --commands
Executes commands provided as a string argument, then exits.
-e, --execute
An alias for --commands.
-h, --help
Displays comprehensive help information for the nu command and its options.
-v, --version
Shows the installed Nushell version number.
-l, --login
Starts Nushell as a login shell, loading login-specific configurations.
-n, --no-config
Prevents Nushell from loading any default configuration files on startup.
--env-file
Loads environment variables from the specified file path.
--config-file
Loads configuration settings from the specified file path.
--testbin
Used internally for Nushell testing and development purposes; not for general use.
DESCRIPTION
Nushell, often invoked as nu, is a modern, cross-platform shell designed to work natively with structured data. Unlike traditional Unix shells that primarily operate on streams of text, Nushell processes data in formats like tables, enabling powerful data manipulation directly within its pipelines. This approach allows users to easily query, filter, and transform data from various sources (e.g., JSON, CSV, YAML, databases) without relying on external parsing tools. It features a rich type system, a comprehensive set of built-in commands, and a user-friendly syntax. Nushell aims to provide a more intuitive and powerful environment for developers and system administrators, offering consistent data structures across its commands and simplifying complex data workflows. Its focus on readability and robust error handling makes it a compelling alternative to traditional shells.
CAVEATS
nu (Nushell) is not a standard utility pre-installed on most Linux distributions; it requires explicit installation. Its command philosophy and syntax differ significantly from traditional POSIX shells like Bash or Zsh, necessitating a learning curve for new users. Users should also be aware that its ecosystem of external tools and integrations, while growing, may not yet be as extensive as older, more established shells.
STRUCTURED DATA PIPELINES
The core distinction of Nushell is its ability to treat all data—from files, external commands, or built-in functions—as structured data (e.g., tables, records) rather than raw text. This enables powerful, intuitive manipulation with commands resembling database queries, facilitating direct work with JSON, CSV, YAML, and other formats within the shell.
CROSS-PLATFORM COMPATIBILITY
Nushell is engineered to function seamlessly across multiple operating systems, including Linux, macOS, and Windows. This cross-platform design guarantees a consistent shell experience and script portability for developers operating in diverse environments, offering a notable advantage over certain platform-specific shell features.
HISTORY
Nushell began development in 2019, conceived by the desire for a modern shell capable of natively handling structured data, thereby addressing limitations of text-based pipelines in traditional Unix shells. Written in Rust, it has rapidly gained traction within the developer community due to its innovative approach, active development, and strong cross-platform compatibility. Its ongoing evolution prioritizes refining data-oriented features, enhancing performance, and expanding its ecosystem of built-in commands and external tool integrations.