Dan's Musings

Bash or Zsh? I Choose Bash (Again)

In November of 2021 My coworker showed me ZSH and Oh My ZSH at a new job. He encouraged the whole team to switch to ZSH. I was at a new job and was trying new things so I switched as well.

I was surprised at how much I liked it. It was nice to have a prompt that changed when I entered git repositories.

I used it for about a year and a quarter. During this time I started experimenting with another tool, rlwrap, to improve some Common Lisp REPL commands. During this time I submitted a bug report to RLWrap and updated my configuration for readline. I was still using Bash at home on my home laptop and was pleasantly surprised to discover that the readline configuration also worked in Bash.

However, when I put my readline configuration on my Linux machine at work, it didn't work. That was when I discovered that ZSH doesn't use readline. I also discovered that this fact was a red line for me.

I ended up going back to Bash at work over it. The fact that ZSH doesn't use readline bothers me. I don't want a custom readline implementation because I have specific things in my input RC that I want to work with everything that knows that uses readline.

After making this decision and going back to Bash, I was shocked to realize that the bash prompt was so much more snappy than the ZSH prompt. I realize that benchmarks say that Bash is slower but for me the terminal prompt appears quicker.

I still like the fact that oh my ZSH provided a nice git plug-in, but I was able to find an equivalent plugin in bash called git-prompt.

It's important to stay abreast of new tools and new trends, but sometimes the old tool doesn't need replaced. Sticking with Bash has been good for me.