A powerful scripting language and versatile interactive shell with modern features and a statically linked binary.
Elvish is a modern shell and scripting language that combines an expressive programming language with a versatile interactive shell. It provides built-in features like syntax highlighting, command history, and structured data pipelines, eliminating the need for many external tools. The project delivers a statically linked binary that runs on Linux, BSDs, macOS, and Windows without dependencies.
System administrators, DevOps engineers, and developers who work extensively in the command line and want a more powerful, modern alternative to traditional shells like Bash or Zsh.
Developers choose Elvish for its integrated design where the shell and scripting language are built together, offering a cohesive experience with modern programming features, structured data pipelines, and built-in utilities that reduce reliance on external tools.
Powerful scripting language & versatile interactive shell
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers a functional-first programming language with first-class functions and namespaces, enabling more powerful and maintainable scripts than traditional shells like Bash.
Includes native syntax highlighting and intelligent completion without external plugins, simplifying setup and enhancing the command-line experience.
Distributed as a single statically linked binary for Linux, BSDs, macOS, and Windows with no dependencies, ensuring easy installation and consistency across systems.
Supports pipelines that carry structured data, not just text, allowing for robust scripting with built-in JSON parsing and HTTP client capabilities.
As admitted in the README, breaking changes can occur, which may disrupt existing scripts and workflows in production environments.
Has a smaller community and fewer third-party tools compared to established shells, making it harder to find plugins or pre-written scripts.
Requires learning a new functional-first language and paradigms, which can be a barrier for users accustomed to traditional shell scripting syntax.