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
Last verified
Added
Provenance
Facts checked against the developer's own pages and store listings, 1 sources on file.

Alternatives to Oils

Compare all

Software 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.

Report a wrong fact or a dead link on this listing