Oils
A Unix shell project combining OSH, a bash-compatible shell, and YSH, a new shell language.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
About Oils
Oils is an upgrade path from bash to a better shell language and runtime. OSH runs existing shell scripts while catching errors such as undefined variables, and YSH is a new language aimed at people who know Python or JavaScript and usually avoid shell, with built-in JSON handling and typed data.
Both shells ship in a single binary of about 2 MB called oils-for-unix. The project publishes regular releases and a reference manual, has editor support for Vim, and has been funded by NLnet grants.
Strengths
- OSH runs existing bash scripts with stricter error checking
- YSH adds structured data and JSON support
- Both shells in one small binary
- Detailed reference documentation
Limitations
- Still before a 1.0 release
- YSH is a new language to learn
Details
- Pricing
- FreeFree and open source.
- License
- Open source, license not stated
- Developer
- Andy Chu and the Oils contributors
- Platforms
- macOS, Linux, Command line
- How it runs
- Downloadable app
- Account
- Not required
- Works offline
- Yes
- Best suited for
- Shell script authors who want a stricter bash or a more modern shell language
- Categories
- Terminals, CLI tools, Developer tools
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Alternatives to Oils
Compare allSoftware that can replace Oils for an important use case, and what changes if you switch.
Zsh
Interactive shell with powerful completion, globbing and prompt theming.
Zsh is a mature interactive shell with strong completion and globbing, but it does not run bash scripts with Oils' stricter error checking.
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 highlighting out of the box, but it is not POSIX-compatible so bash scripts need changes.
Nushell
Shell that pipes structured tables instead of untyped text.
Nushell pipes structured tables and runs on Windows too, but existing shell scripts do not run in it and its language still breaks.
Elvish
A scripting language and interactive shell with data structures and built-in interactive features.
Elvish is a stable scripting shell with data structures and early error detection on all desktops, but it cannot run bash scripts unchanged.
Murex
A command-line shell with native support for JSON, YAML, CSV and other structured data.
Murex handles JSON, YAML and CSV natively with script unit tests, but existing bash scripts must be rewritten.
Xonsh
A cross-platform shell whose language is a superset of Python 3 with shell commands built in.
Xonsh mixes Python 3 and shell commands in one language across Linux, macOS, Windows and Android, but differs from POSIX syntax.
Similar software
Related functionality, not necessarily a direct replacement.
ble.sh
A line editor written in pure Bash that adds syntax highlighting, autosuggestions and vim modes.
Oh My Bash
A community framework of themes, plugins, aliases and completions for configuring the Bash shell.
Bash-it
Configuration framework of aliases, completions and themes for Bash.
Starship
A shell prompt that shows the git branch, language version and other context, configured once and working in every shell.