Oil Shell

Oil Shell, now known as YSH, is a Unix shell language that enhances traditional shell capabilities with features from Python and Ruby, and offers tools for efficient scripting and data handling.

Company Overview

Oil Shell provides a legacy-free dialect of shell that integrates Python-like expressions over typed data, Ruby-like blocks, enhanced shell functions (procs), new word syntax, and new shell builtins. It offers two main shell components: YSH and OSH, each designed for different user preferences and requirements. The company aims to deliver a Unix shell language that incorporates common shell usage patterns from POSIX, bash, and others.

Products

Oil Shell offers two primary products: YSH and OSH. YSH, previously known as Oil until March 2023, is designed for users who prefer more modern and flexible shell capabilities. It runs using 'bin/ysh' and introduces features like Python-like expressions and Ruby-like blocks. OSH runs real shell programs and is designed to be compatible with existing shell scripts, including distro build scripts and completion plugins. It runs using 'bin/osh' and focuses on opt-in features for improved error handling and safe processing of user-supplied data.

Technology and Tools

Oil Shell employs a variety of technologies and tools to enhance its shell offerings. One notable tool is 're2c', which compiles regular expressions into efficient C code, facilitating multiple lexers. The project also includes a Python bytecode compiler named OPy, based on pgen2 and compiler2, adapted to the project's specific needs. Additionally, the 'mycpp' tool is utilized to translate a subset of statically-typed Python into C++.

Upgrade Path and Compatibility

Oil Shell offers an upgrade path from bash to a more advanced language and runtime. YSH and OSH share the same runtime, allowing users to gradually transition from bash and OSH to YSH by selectively breaking compatibility through Shell Options. This approach ensures a smooth upgrade process while retaining compatibility with existing scripts. OSH is designed to run real shell programs and offers opt-in features for enhanced reliability and usability.

Grants and Support

Oil Shell has received generous grants from NLnet in 2022 and 2023, which have supported the development and enhancement of its products and features. These grants have contributed to the company's ability to offer advanced shell capabilities and tools, supporting both ongoing development and community engagement through platforms like Zulip Chat.

Companies similar to Oil Shell