Skip to main content


This #Linux, #Unix, #macOS, #FreeBSD shell feature comparison table shows that ZSH and FISH have the most features. Why aren't you using ZSH or FISH yet?
in reply to nixCraft 🐧

that comes just at the right time. I was thinking about switching to fish, but without associative arrays and subshells it’s not for me.
in reply to nixCraft 🐧

Because I'm fairly fluent in Bash at this point (at least the subset of features that I use), and for anything Bash can't do Python is far more portable?
in reply to nixCraft 🐧

Because it is not the standard across the zillion of servers i manage.

It is a good alternative if you work mainly in one host or in a few.

in reply to nixCraft 🐧

For more than 7years I haven't used anything but zsh thanks to Obarun for introducing me to it by making it default.

@nixCraft

in reply to nixCraft 🐧

I'm using the default most of the time and I don't bother changing it. (bash, oksh)
in reply to nixCraft 🐧

If you are using a Prompt and you need floating point support, you are doing something no right :ablobcatcoffee:
in reply to nixCraft 🐧

As a sysadmin, I had been interacting with all sorts of systems and bash/sh are a must. So there is no reason for me to put any effort into migrating.
in reply to nixCraft 🐧

if find source guardian shell scripts for both bash and zsh exceptionally hard (SO answers do not work) so Iist come around with helper arguments so I can test with BATS xor run my scripts
in reply to nixCraft 🐧

that's a really cool chart. The only reason I haven't moved from bash is sheer inertia. I keep meaning to...
in reply to nixCraft 🐧

wait, no subshells in fish?

fish people, do you ever miss it / feel the need for it?

in reply to nixCraft 🐧

Because features aren't equal. bourne shell and subshell compatibility are essential, many autocorrections are actually a bug rather than a feature and still other rows in your graphic leave me with "meh" as their importance.
in reply to nixCraft 🐧

github.com/akinomyoga/ble.sh bash is new zsh, all hail bash!
in reply to nixCraft 🐧

zsh isn't bourne shell compatible?
This entry was edited (11 months ago)
in reply to nixCraft 🐧

Not all "command name completion" is created equal... After using fish and powershell on my work computer and getting used to a >50% hit rate when just typing five letters and pressing ➑️, bash starts to feel a bit clumsy. Would be interesting to see a powershell column in here, tooβ€”as much as we hate MS, it *is* open source and cross platform.
in reply to nixCraft 🐧

Another interesting one I saw a video on once was xonsh. Basically a cross of bash and python that somehow works.
in reply to nixCraft 🐧

because they aren’t korn shell compatible. Yes, I’m that old
in reply to nixCraft 🐧

I tried out fish and rejected it. For scripts, note line 1 of the table. For interactive sessions, what i remember offhand:

a) tab completion on options wipes out half the screen when invoked. Hey I was *using* my history before fish got in the way. It weighs against the nice benefit of extracting argument hints from the man pages.

b) tab completion defaults to files instead of options.

c) the colour coding mechanism might have potential, but DEFAULTS MATTER. Dark blue on black???

in reply to nixCraft 🐧

without that chart, because i have not tested. with that chart, because it doesn't make sense. fish doesn't support subshells (which i use), both are not bourne compatible. zsh may be an option due to syntax highlighting but i even find myself using oksh recently because it is way more responsive than bash.
in reply to nixCraft 🐧

Switched to fish some year ago, just out of curiosity, and love it.
Using it with some fisher plug-ins and pimped with github.com/IlanCosman/tide

Scripts are mostly still in bash/sh
But nobody needs posix to CD somewhere, sort through stuff or piping some commands.
#fishshell #fisher #tide

This entry was edited (11 months ago)
in reply to nixCraft 🐧

I’m still using ksh93.
For the same reason I use a Mac and not Windows.
More β€œfeatures” (bloatware) does not mean better experience.
in reply to nixCraft 🐧

I will not use zsh or fish because neither of them is Bourne shell compatible. I'm afraid that is a deal-breaker for me: I learned shell programming at AT&T in 1985, and csh derived shells are just wrong.
in reply to nixCraft 🐧

I use Zsh, for its simplicity, diverse plugin ecosystem and bash compatibility.

I don’t use any frameworks like ohmyzsh or zap whereas I have configured it to a point where my profile is my own framework which is perfectly fine for my usage.

With that said I really wish bash has features similar to Zsh and I could switch back to bash at one point in future.

This entry was edited (11 months ago)
in reply to nixCraft 🐧

1. Litteracy among coworkers: most of the group knows some level of bash, so that settles it for scripts.

2. Right tool for the job: the moment I need syntax highlighting or floats, is the moment I will need to shift to a more advanced env anyway, so the extra features of zsh and fish aren't that attractive. bash's native regex support is probably as far as I'll go before switch to Perl/Python/etc.
But that is obviously dependent on one's typical usecase.

in reply to nixCraft 🐧

does sh respond to the 'history' command?

(As it does in, say, tcsh in FreeBSD.)

in reply to nixCraft 🐧

"Never change a running system" πŸ€ͺ honestly never had the need for the things that Zsh can do on top of Bash, so no need to switch
⇧