Alternative Shells

Forum rules
General talk about software - if the program is not in the repos, please links to the developer's page or github.
User avatar
franksinistra
Ivana Fukalot
Posts: 1093
Joined: Mon Jan 27, 2014 2:03 am
Location: 印尼国

Alternative Shells

Unread post by franksinistra » Sat Nov 11, 2017 4:58 pm

Bored with zsh / bash / mksh / fish? Nowadays there are quite a few alternative (mostly non POSIX compliant) shells that really piqued my interest.

Here are some of them (that I've tried):

NGS https://github.com/ilyash/ngs
Seems like a very promising and ambitious shell implementation, with its own (real) programming language, influenced by functional programming languages syntax. A lot of its syntax is pretty weird and inconsistent to me (F() instead of f() for declaring function, weird abbreviations), but the shell itself is very interesting, its ability (and goal) to utilize and display structured data is very interesting, as jq has its own limitation.

Elvish https://elvish.io/
Next generation shell built using golang, with its own terminal file manager, completion manager (like FZF / Helm / Ivy), and pretty good shell-like language based on (again) functional paradigm, data structures have its own rules (immutable map, mutable variable, etc). Has its own package in debian repo, although it is still prone to crashing, and it is as heavy as an elephant for a shell (10MB of RAM for single instance of shell is too much).

Redox's Ion shell https://doc.redox-os.org/ion-manual/
Kind of revised POSIX-shell. Primary shell for Redox OS, although it can run on Linux though. Not as ambitious as previous implementations i mentioned. It's quite easy, and more mature than most alternative shell implementations ( except Fish of course). First class array support, and its ability to not to rely on external programs such as grep, cut, sed, or awk to process stuff is also pretty good.

Oil Shell https://oilshell.org
Like NGS, a very promising and also ambitious shell. and It is also aimed to be bash compliant. Development is quite active (and it is still quite early), project creator has already tested and tried it for stuff like bootstrapping alpine linux. Language wise it has an imperative style, albeit it is also functional-like with support for concurrency (via co-processes) and the likes. It utilizes OVM (a fork of Cpython) for its interpreter. At the current state, it is a painfully slow shell, as there is no optimization.

There are lots and lots of other shells out there, all with its own quirk and unique features that I don't have the time to try
rice no more.

User avatar
GekkoP
Emacs Sancho Panza
Posts: 5877
Joined: Tue Sep 03, 2013 7:05 am

Re: Alternative Shells

Unread post by GekkoP » Sat Nov 11, 2017 5:17 pm

And for the true Clojurist: https://github.com/dundalek/closh

User avatar
wuxmedia
Grasshopper
Posts: 6445
Joined: Wed Oct 17, 2012 11:32 am
Location: Back in Blighty
Contact:

Re: Alternative Shells

Unread post by wuxmedia » Sun Nov 12, 2017 1:40 pm

I don't think I'll ever want to be on anything other than a basic bash shell. As I don't spend any time in my shell really, even my scripts are on the work bastion, as i'm logged onto that for proxies.
Thanks for looking though!
"Seek, and Ye shall find"
"Github | Chooons | Site"

Post Reply