Elvish

A scripting language and interactive shell with data structures and built-in interactive features.

These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.

1 more ways to get Elvish

Package managers

About Elvish

Elvish is both a shell and a programming language. Scripts use lists, maps and functional programming instead of cryptic operators, and variables do not need double-quoting. Errors such as a misspelled variable are caught before code runs, and failed commands stop execution by default, so a later command does not run after an earlier one fails.

Interactive features are built in, and it ships as a single statically linked binary for Linux, BSDs, macOS and Windows, including ARM machines such as the Raspberry Pi.

Strengths

  • Readable scripts with lists, maps and functions
  • Catches errors like undefined variables before running
  • Failed commands abort execution by default
  • Single static binary for Linux, BSDs, macOS and Windows

Limitations

  • Not POSIX compatible, so Bash scripts do not run unchanged
  • Smaller ecosystem than Bash, Zsh or Fish

Details

Pricing
FreeFree and open source.
License
BSD-2-Clause
Developer
The Elvish contributors
Platforms
Windows, macOS, Linux, Command line
How it runs
Downloadable app
Account
Not required
Works offline
Yes
Best suited for
People who want a shell with a real programming language for scripts
Categories
Terminals, CLI tools
Last verified
Added
Provenance
Facts checked against the developer's own pages and store listings, 1 sources on file.

Alternatives to Elvish

Compare all

Software that can replace Elvish for an important use case, and what changes if you switch.

  • Nushell

    Shell that pipes structured tables instead of untyped text.

    Nushell pipes structured tables instead of text and behaves identically on Windows, macOS and Linux, but its language still breaks between releases.

  • fish

    A shell that autosuggests commands from your history, highlights syntax as you type and has tab completions that work without configuration.

    fish focuses on interactive use with autosuggestions and man-page completions out of the box, but has no official Windows build and is also not POSIX-compatible.

  • Murex

    A command-line shell with native support for JSON, YAML, CSV and other structured data.

    Murex handles JSON, YAML, XML and CSV natively with error handling and unit tests for scripts, but runs only on macOS and Linux.

  • Xonsh

    A cross-platform shell whose language is a superset of Python 3 with shell commands built in.

    Xonsh makes the shell language a superset of Python 3, giving access to Python libraries, which suits people who already know Python.

  • Oils

    A Unix shell project combining OSH, a bash-compatible shell, and YSH, a new shell language.

    Oils pairs OSH, which runs existing bash scripts with stricter checks, with YSH, a new language with structured data, though it is still pre-1.0.

  • Zsh

    Interactive shell with powerful completion, globbing and prompt theming.

    Zsh is a widely used interactive shell with strong completion and globbing, closer to POSIX shells than Elvish but without its built-in data structures.

Similar software

Related functionality, not necessarily a direct replacement.

Report a wrong fact or a dead link on this listing