What's Your Shell of Choice?

dstarner profile image Daniel Starner ใƒป1 min read

So I just started using zsh shell with Oh My Zsh, and it's been a pretty awesome experience so far! I love the amount of plugins and configuration options that it gives you. I'm using a decent amount of the standard plugins, as well as some custom aliases, and I'm noticing that I can get around and perform basic terminal actions much more quickly than I could before.

Aside from the plugins, I'm also a fan of customizing the theme and PROMPT, and after spending some time about how the formatting works, I think I settled on the following, which contains my username, computer name, current directory, git setup (and whether or not its up to date, dirty, or clean), as well as battery life if I am not plugged into a charger. I also spaced out the prompt a little, to give my terminal a cleaner feel.

Look at this beautiful console

So far I'm happy with zsh, and it seems to be working better with my tools and scripts versus when I tried out the fish shell.

What's your shell of choice and why? bash, zsh, fish, or something else? ๐Ÿ˜ƒ

Posted on by:

dstarner profile

Daniel Starner


I am a curious person who enjoys figuring out the building blocks of the world, and rearranging them to build something even better.My career is developing software, but my life is adventuring.


Editor guide

My shell of choice is bash.

Why? Because it's almost ubiquitous. There's pretty much no other reason. Everything people claim is "better" in things like zsh is either perfectly possible in bash or a crutch that will tempt me into making scripts that are even less portable.

I also steer clear of aliases unless I am already really familiar with what they're abbreviating. By this I mean I don't copy some esoteric string of options from a Stack Overflow answer into an alias without understanding what I'm doing; that would mean I'd be easily lost on a foreign system. I do alias things like foo='foo --color' for trivial settings for commands that don't use configuration files and so on, but that's about it.


Mine is zsh, it has a lot of plugings and certanly everything it doesn't do by default, there is a Plugin that does that, and it also so easy to customize the prompt, different of bash that you kinda need to know some witchcraft to change that LOL

Fish is also super cool, there is thing that I liked so much that I had to have it in zsh, like autosuggestions, command highlighting, but zsh still has my heart


I had used zsh in the past and was happy with it, but then a tweet from a colleague of mine at the time

and Julia Evans article The fish shell is awesome prompted me to give Fish a go.

I love it.

P.S.: Here's the original @dan_abramov tweet that my former colleague was referring to


"The sublime of shells" is something that I would take as a recommendation to avoid!


Bash for me - it is installed everywhere and is simple. I used to be much more into having a good looking terminal with lots of functionality, but over time I question how much tools like that become a distraction to fiddle with over a legitimate use of time.

I use terminal git and vim on a daily basis. I try to question what the minimal configuration I need to get up and running is. Right now I could do a good amount of development on a machine with default vim, git and bash installed and if I pull in my git config, init.vim, and .bashrc I can get up and running with something very close to my everyday environment.

I do also use tmux, but I wouldn't say that is a requirement for me to use the tools I like - it just gives me a good way of organizing my workspaces.

Here is what my bash looks like:



I've almost always used tcsh. I can't recall if that was the default, or what one of my college professors told us to use. I even found a replacement on Windows that's similar to tcsh, called Nyaos


Here's my setup -- Zsh + iTerm!

Zsh because of customization and tab completion, iTerm because of the panes!


For those using zsh, here's a great tip from one of the talented devs at Unsplash, Oliver Ash.


Fish & Zsh, both heavily customized.