Bash vs ZSH vs Fish: What's the Difference?

preview_player
Показать описание
Have you ever wondered what the difference between all the different shells were? Not sure which shell to choose? And angry comment threads on Reddit arguing about which shell is better aren't helping? Let me go over in this video the difference between Bash, ZSH, and Fish, and finally settle the debate on which one is the BEST. Plus, you'll learn if being POSIX-compliant actually matters...

0:00 Intro
0:38 Bash
3:14 ZSH
5:36 Fish
12:08 My recommendation
12:57 Conclusion
Рекомендации по теме
Комментарии
Автор

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.

snuggie
Автор

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.

Psoewish
Автор

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!!!

Jeff_Seely
Автор

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.

Nevermore
Автор

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

lVlonkberry
Автор

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

dogbyte
Автор

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

orangemicroprocessing
Автор

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.

bburton
Автор

Smart comparisons! Thanks for the video.

whylde
Автор

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

k_tech_nibba
Автор

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.

pavelperina
Автор

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

atarg
Автор

Great content and explanation. I subbed :)

seanpaul
Автор

thats what i was looking for. hanks for helping

SnipeGod
Автор

Really great for this noob wondering how to get set up to start Dev study. Thank you!

ubercorey
Автор

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.

BrandonZylstra-jbjb
Автор

Thank you very much i seen this video just in time!

alexnone
Автор

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.

theawesomesandbox
Автор

what do you think about powershell? is worth to learn over bash/zsh ?

Phoenix-zkoe
Автор

I could not find your zshrc can you please share it?

justrajdeep