I have been a satisfied user of es for several years. I switched for a very simple reason: I find bash/POSIX shell terrifically unpleasant and confusing to write, and thus never wrote shell scripts in bash or zsh. On the other hand, es has a (for me) lucid and entirely unsurprising syntax which makes it quite simple to write my own shell functions for just about anything I do more than once or twice.
For better or for worse, I never use the higher order functions in es. I just find rc-style syntax comprehensible and posix syntax incomprehensible. Nevertheless, I would recommend it to anyone who suspects that if they understood shell scripting a little better, they’d be rather more productive.
It’d be cool to read an annotated version of your config file and some stories about why it is the way it is.
The link to the github repository: http://wryun.github.io/es-shell/
I had an acquaintance in the 90s who was really big on rc and then switched to es. Hadn’t heard about it since.
rc! Oh the memories. Oh I tried rc, but could not make anybody else switch to it and followed the bash crowd
Bingo! For me I just look at all other shells and say “Wow that looks neat” and then go back to using bash because that’s what every environment I work in not just uses but DEMANDS.
Want to run another shell? Sure! Be ready to debug 1000 or so runbooks that assume you’re running bash, and this is production so good luck if you fubar things :)
Historically speaking, I think this game was lost when Sun failed to make Tcl the, let’s call it, boot / rc.d language. Had they managed to make the switch to something else than the sh / bash family, we may have had a different evolution of the different init / process monitoring systems (different versions of rc.d, upstart, supervisord, monit, …, systemd). Maybe even developer friendlier. I don’t know.
es and rc, are nice academic excursions, but for them to take over, we need an implementation that runs over, or with, bash.