The best shells, according to hackers
12 shells recommended in Hacker News comments over the past year, ranked by how many separate people recommend each one.
All shells
- BashThe go-to shell for gluing commands, pipes and files together, available on nearly every machine, though full of footguns and painful once scripts grow complex.171recommend
- PowerShellRecommended for piping structured objects instead of text, with consistent, discoverable commands and strong Windows administration support; critics find it verbose, awkward to type and slow to start.156recommend
- fish shellA fast, friendly interactive shell with autocompletion, syntax highlighting and a good prompt out of the box, though it isn't bash-compatible, so pasted commands sometimes fail.97recommend
- NushellRecommended as a modern shell that works with structured data and catches errors before running; the common caveat is frequent breaking changes.92recommend
- zshShell praised for scripting power, history search and fast prompts; critics find its quirks, brittle heavy configs and bugs frustrating.52recommend
- Xonsh shellPython-based shell people pick to avoid learning a new language, now more stable. Critics find interactive editing awkward and some features missing.15recommend
- RubishPeople praise its deep integration with Ruby and its thorough, well-thought-out design. Critics agree it is slow and not lightweight.14recommend
- just-bash by Vercel LabsA sandboxed bash-like shell in TypeScript for AI agents, fast because it starts no processes. Critics say its incompatibilities with real bash make it leaky.11recommend
- EshellEmacs' built-in shell, liked for Elisp customization, tab completion tweaks and staying in the editor's directory.9recommend
- Oils (Oil Shell)Bash-compatible shell with a cleaner, more modern YSH syntax, offering an upgrade path away from bash and sh. Caveat: YSH is not fully defined yet.7recommend
- Rc shellPlan 9 shell that people recommend for cleaner syntax than Bourne-style shells, simpler scripting with functions instead of aliases, and good editing features. It is free.6recommend
- Elvish shellFree shell with good support for structured data and JSON, and people recommend it as a better alternative to Bash.5recommend