Skip to content
andychu edited this page Nov 21, 2021 · 27 revisions

Here is a short guide:

  • bin/osh runs the OSH language, which is extremely compatible with POSIX shell and bash. It's designed to run existing scripts.
  • bin/oil runs the Oil language, a new and gracefully upgraded shell language that's designed to be familiar to Python and JavaScript users.

As of 11/2021, OSH is a lot more mature than Oil.

But they actually run in the same binary and same interpreter! bin/osh and bin/oil are symlinks.

There are a bunch of global shell options like shopt --set parse_brace that change OSH to Oil. Running bin/oil is equivalent to running bin/osh with the option group shopt --set oil:all.

Examples

For examples of the syntax, see The Simplest Explanation of Oil.

Clone this wiki locally