Question

What is your favorite shell and why?

Hi all,

I’m just getting started with Linux and I’ve been experimenting with different shells like bash, sh and fish.

So far I quite like fish because it is quite friendly and interactive shell.

What is your favourite shell and why?


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

Hello,

It really depends on your needs and what you’ve gotten used to. My personal favorite is bash. I love the syntax, the autocompletion and it is installed by default on almost all servers that I have to work with on a daily basis.

If you want to learn more about Bash, I would suggest checking this open-source eBook on GitHub: Introduction to Bash Scripting eBook

Regards, Bobby

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

Hello,

My favourite is definitely zsh. It’s like bash but you can set it up to have nice git integration which is why I like it so much. From the command line I can then always see what repo/branch I am in as well as the state of that branch (staged files, commits, matching upstream, etc.).

Hey,

I agree that it really depends on what you need. I’ve seen a lot of people using fish just for the auto-suggestion based on history or for the tab completion using the man-page data. Keep in mind that in bash you can use the reverse–isearch by clicking Ctrl+R.

People also use fish to for the syntax highlighting and the colors as this comes by default and in the other shells you need to setup this on your own.

It will be nice if everyone can explain what shell they use and what they have added to it.

Regards, Alex

Hi @devdojo,

I have to agree with @bobbyiliev. As his, my personal choice pretty much always falls to bash . Most of all, it’s easy to use and intuitive.

With that being said, I feel like a worthy mentioned would be zsh. Zsh is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh.

Let me give you some examples. You don’t have to type whole directory names when using ls, just type the first few letters enough to make it unique and Zsh will work the rest out.

ls /u/l

Will actually display the contents of /usr/lib.

Another great example is the kill command completion.I usually kill commands after inspecting them using ps or if I’m confident with pkill, Zsh gives you another option.

kill s

Press TAB and it will give you all the current processes that start with the letter s. You can then choose which to kill.

Having said that, I do feel that for beginners the default bash shell is best. However if you feel like diving in deeper, zsh is the way to go for me.

Regards, KDSys