What shell are you using/going to use in Catalina?

I have yet to upgrade to Catalina on either my iMacPro or MBAir, but sooner or later I will take the plunge.

While I know that bash remains installed on Catalina systems, it is clear that before too much longer it will disappear, and so it seems like a good time to be making the transition to a new shell. I have quite a few scripts, both that are run on demand in a terminal window and which are used by Keyboard Maestro and by Hazel, so it is not a transition I want to do more than once.

The “easy” solution would be to move over to zsh at this point as it is the Catalina default and sufficiently close to bash as to make the transition likely reasonably easy.

However, I have heard so many good things about fish shell that it seems at least worth considering, even though the overhead of making the transition is higher as it is so different from bash (which I have used in one form or another for over 20 years between linux and MacOS) and requires manual installation and upgrading as it is not included with MacOS.

Are there any zsh and fish users out there who might offer some thoughts / guidance?

1 Like

I’d vote for ZSH along with Ohmyzsh. Ohmyzsh community is magnificent and you will love your shell. It’s been my default shell on all machines I run and the first thing to install.


Brett Terpstra switched to fish and seems pretty excited about it.


@mina: Thanks. I had heard of ohmyzsh, but was leaning towards self-configuring at least at first so I learn the tricks of zsh. I purchased a book on migrating to zsh which is actually quite helpful with a lot of interesting ideas and tips.

@jec0047: Yes, I read his posting which is part of why I was thinking of going with fish. I tend to think that the additional overhead of having to install via home-brew or some other mechanism is not all that much extra work; at least not enough to dissuade me from using fish.

I second this, and would add iTerm2.

1 Like

I’m not so sure that bash will vanish. I just checked on my Mojave system and found (at least) sh, csh, tcsh, bash, ksh, and zsh, so it doesn’t seem as if Apple is interested in restricting the choice of shell (at least I hope that they’re not)

Edit to answer your question: On my Catalina system, I’m still using bash :slight_smile:

when I upgraded it was still defaulted to bash for a current user, new user was zsh.
System asked if I wanted to switch to zsh.

Do I have a reason to move from bash?

And will anything break if I move? My scripts etc are not complex. And I’m using iTerm2 as my terminal - on a daily basis.

Thanks. My understanding as well is that Catalina does not remove bash, and installing Catalina over a previous version of MacOS does not change the login shell for existing accounts. New accounts are created with zsh as the default shell, and users of older accounts are prompted (but not forced) to chance from bash to zsh.

I don’t have any information to suggest if/when Apple will remove bash from MacOS, and I would assume that will not happen during any version of Catalina. What will happen thereafter no one knows.

I am just looking to make the transition now as I can do so incrementally, by converting my scripts over as I have time, rather than waiting until the chance is forced.

I tried out the new MacBookPro 16” at the Apple Store specifically because it was the only machine out that could never have had any version of MacOS other than Catalina installed (I don’t know if the other pre-Catalina computers on display were upgraded from Mojave or had a fresh nuke and pave install of Catalina, and I no longer feel that the Apple Store personnel are always completely reliable on technical questions like this). I found that opening a Terminal window brought me to zsh, but bash was still present, so clearly bash is not yet removed from a new Catalina install.

Interestingly, both Python 2 and 3 were also installed on the Catalina system, which is important to me as I also have a large number of scripts in python and I have kept to version 2.7 in keeping with the default MacOS installation. Migrating finally to python 3 is also on my agenda, so I’m glad to see python 3 is installed with Catalina, saving me the effort of a home brew install for it.

@MartinPacker: Migrating bash to zsh scripts should not be that difficult due to similarities in the shells’ syntax, although of course testing each script in a non-critical scenario should be the rule of thumb. If you have relatively simply scripts I suspect they will work with little to no change. I am still earning about the differences between the shells myself.

1 Like