YSH, or the shell formally known as oil, is touted as a possible upgrade path from Bash.
This is the first in a three-part series of posts re-introducing the language.
- Reviewing YSH (you are here)
- Sketches of YSH Features
- YSH, Narrow Waists, and Perlis-Thompson Problems (Not yet released)
I need to disclaim that I am not affiliated with the project, and have actually been pretty critical of it in the past. But I tend to agree with the author’s reasoning across most of the blog, so I believe there is real merit to the shell.
Who knows, maybe in a few years we’ll all be writing YSH!
At what is this better than zsh, bash or fish? What make u switch to ysh?
I haven’t switched to ysh. I personally use Zsh for my interactive shell, but I write my scripts in a variety of shells.
You can start with Ysh in its Bash-compatible mode, individually enable new features with
shopt
. Those features include:- Not splitting or globbing
$foo
by default (this is shared by Zsh and Fish) - A Python-inpsired parsing mode, which should supersede arithmetic mode (induced by
( )
in tests,$[ ]
for string splicing and@[ ]
for array splicing) - Strucutred data
- New functions which return structured data (Oil calls classic shell functions “procs”, because they behave a lot like external programs with extra side effects)
cd to/somewhere { echo $PWD;}
- Not splitting or globbing
I’m interested in it. It claims to be quite a bit faster but I’m curious as to how practical it is.