Hm I wasn't aware of this project, it seems to have started in 2022<p>Other than OSH, it seems to be the only shell that aims for POSIX/bash compatibility, out of dozens of alternative shells: <a href="https://github.com/oils-for-unix/oils/wiki/Alternative-Shells">https://github.com/oils-for-unix/oils/wiki/Alternative-Shell...</a><p>As far as I know, OSH is the most POSIX- and bash-compatible shell:<p><i>Nine Reasons to Use OSH</i> - <a href="https://oils.pub/osh.html" rel="nofollow">https://oils.pub/osh.html</a><p>If I have time, I will run this through our spec tests: <a href="https://oils.pub/release/0.29.0/test/spec.wwz/osh-py/index.html" rel="nofollow">https://oils.pub/release/0.29.0/test/spec.wwz/osh-py/index.h...</a><p>---<p>About this part: <i>There are a number of other POSIX-ish shells implemented in a non-C/C++ implementation language</i><p>OSH is implemented in an unusual style -- we wrote an "executable spec" in typed Python, and then the spec is translated to C++.<p>That speeds it up anywhere from 2x-50x, so it's faster than bash on many workloads<p>e.g. a "fibonacci" is faster than bash, as a test of the interpreter. And it makes 5% fewer syscalls than bash or dash on Python's configure (although somehow this doesn't translate into wall time, which I want to figure out)<p>It's also memory safe, e.g. if there is no free() in your code, then there is no double-free, etc.<p>---<p>As mentioned on the OSH landing page, YSH is also part of the Oils project, and you can upgrade with<p><pre><code> shopt --set ysh:upgrade
</code></pre>
If you want JSON and so forth, e.g.<p><pre><code> ysh$ json read < x.json
ysh$ = _reply
(Dict) {shell: "ysh", fun: true}
</code></pre>
YSH aims to be the "ultimate glue language" - <a href="https://oils.pub/ysh.html" rel="nofollow">https://oils.pub/ysh.html</a>