Member-only story
Fish vs. Zsh vs. Bash and Why You Should Switch to Fish
There are two kinds of *nix users: the cautious and the adventurous
Here’s a fact, most developers love Unix and Unix-like (Linux-based) operating systems such as macOS, Ubuntu, etc. They are stable, powerful, highly customizable, and they have the mighty Unix Shell.
What Is UNIX Shell?
A shell is an interface to the underlying operating system. It allows you to execute operations using text and commands, and it provides users with advanced features like being able to create scripts.
Unix Shell is a powerful tool that allows programmers to accomplish complex tasks with just a few words. There are a lot of widely available Shells such as Bourne Shell, C Shell, etc.
I have particularly used Bash, Zsh, and fish shells, and here are my thoughts on why switching to fish, or even Zsh, is one of the best things you could do to make your programming experience more pleasant.
A One Minute Introduction to Bash, Zsh, and fish
Bash
Bash is the most common Linux shell out there. If you open up a terminal on Mac (until macOS Mojave), or if you’ve used Linux before, you’ve seen Bash.
It can create aliases, make functions, export variables, and run commands, just like any other shell. Despite having a limited set of configurable options, it is widely used, and it has a huge number of users accustomed to its usage and idiosyncrasies.
Zsh
Zsh is similar to Bash and is another great shell. It’s faster and much more customizable than Bash.
One of the coolest things about Zsh is color customization. You can change the theme and color of your shell just by using a framework called Oh My Zsh.
Zsh also has a lot of other useful features, including spelling correction, sharing your command history across multiple terminals, naming directory shortcuts, etc.
Fish
Fish, or the “Friendly Interactive Shell,” is the most user-friendly and interactive shell, in my opinion.