@snuggie12

Appreciate keeping it objective. I was actually looking for "what to know if you're switching from bash to zsh" and every video that popped up was a sales pitch or dunking on bash.

@Psoewish

I just use fish as my interactive shell because of how comfortable it is to work with, and then use bash for anything else, including scripting. This seems to be a very common setup and it works really well.

@Jeff_Seely

Eric, this is one of the most complete explanations on the subject, that I've ever seen. You didn't assume that the viewer knew a darn thing about programming and configuring and you concisely cover it so that anyone could understand. Great job!!!

@TinyFlameRob

Very well laid out - thanks! Especially liked the parts about the posix compliance as it really helps me make up my mind about what shell to use going forwards.

@bburton333

Great explanation of these shells. One thing many don't understand is it's not necessary to use one kind of shell for everything. For writing simple scripts, I would use Bash or /bin/sh to be (mostly) POSIX compliant. This skill once learned, can be used on any Linux or Unix system with very little deviation. For more complicated scripts I'd use Python, Ruby or Perl, etc. This is true even if my interactive shell of choice was zsh or fish, etc. One exception is it seems Macs now define zsh as the default shell. Even so, for scripting I'd probably use /bin/sh unless there was some feature I really needed from zsh. To put it another way, I probably wouldn't ever write scripts in zsh or fish unless it was for configuring the interactive use of that shell.

For interactive use, use whatever shell makes you the most productive. If this is your own machine or account that you have complete control over, go ahead and change the default shell but if you have to share an account with others on a server, then leave the default shell and run exec zsh or exec fish after logging in. This is also how you can try different shells without changing the default one.

I've been using zsh off and on for 30 years and even when I first started using it back then, it was head and shoulders above the ksh shell which was the only other shell that made sense for interactive use on the systems I maintained. I've never used fish but did checkout the docs and it looks nice for interactive use.

@lVlonkberry

This was awesome! Thanks for the detailed explanations in between, this video really covered all the essentials.

@dogbyte7875

Nice! Thanks Mr. Murphy, for your time and efforts to make this video.

@theawesomesandbox

Ok, so here's a comment for the great info from the channel. I tried out Fish from using a basic terminal and I:
- like the features included and not having to do the config myself from scratch (wow, autocomplete is kinda nice),
- hate the fact it's not POSIX compliant (sorry, I like using code from the internet for basic tasks without having to do the conversions, since most of the stuff you'll find won't be for fish specifically).

ZSH 4 humans then, probs.

@pavelperina7629

It's funny that even thou scripts usually start with #!/bin/sh, they may not work with bourne shell (default on BSD) or dash (which is supposed to be smaller and faster), because they wrongly assume that /bin/sh is symlink to bash. And bash is POSIX compatible (it can run sh scripts), but it also adds some simplified, extended syntax, which is not.

@k10_tech_nibba

Thanks man, you have helped me today. 
I will stick with Zsh for now. 😊

@BrandonZylstra-jb4jb

Fish is very  nice, and I would have switched to Fish a long time ago, but it would have meant losing hundreds of aliases and functions that I had created over the years for Zsh, so it wasn't worth it.  I can't imagine why the Fish creator(s) decided to use such a different syntax.  It definitely creates a problem for adoption.

@angeldude101

Fish understands that the traits that make for a good interactive shell are completely different from the traits that make a good programming language (or scripting language). It's right in the acronym: Friendly Interactive SHell. Unlike bash which tries to be both a good scripting language and a good interactive shell, fish focuses entirely on being a great interactive shell, and its scripting capabilities and really just for configuring said shell rather than anything else.

@blendernoob64

ZSH is the default on Mac OS so I actually been thinking of switching to it on my Linux workstation. I love the autocomplete. However I don’t care about ricing up my terminal. I want my terminal to look like the one in IRIX or the one in Jurassic Park because SGI was so cool.

@SpaceEndeavour

My login shell is dash and my interactive shell is fish. I find that dash works well with all the stuff my system needs to do and fish works well with me.

@orangemicroprocessing

Thank you for the straightforward video. Really helped me out to someone who is pretty new to using unix shells.

@rtothec1234

If you only got time to learn one shell the learn bash. You’ll find it pretty much everywhere.

@atarg2239

Thanks for video. I'd been searching that difference between them recently. 😄

@mx338

I like the fish had, throwing away the baggage of posix, to a create more friendly shell and scripting language, but they didn't overcome the portability problem.
I instead write most scripts as a single file python script, since a Python 3 interpreter is present in almost every modern Linux system.

@lillithsleeps

Thank you for the video, really well laid out

@FengLengshun

I ran into the POSIX compliance issue while on an Intro to Python class. It involved running Anaconda, which sets a customized environment for you, and naturally I ran into issues. In the end, I just switched to zsh, and after learning how to fish-ify it, I pretty much never looked back except for my Arch distrobox which runs fish to distinguish the environment for me and bash being set as my login shell to avoid any issues with Nix and the underlying system.