Moving to zsh

Moving to zsh Summary

*** Version 5: updated for macOS Big Sur ***

macOS Catalina changes the default shell from bash to zsh.

zsh will succeed bash as the default shell. bash has been the default shell in Mac OS X Terminal since the introduction of Mac OS X 10.3 Panther in 2003.

Like many other Mac users, I have been using bash as the main shell for the last 16 years. In this book, I will document my experiences moving bash settings, configurations and scripts over to zsh. 

This books explains
- why Apple is changing the shell
- implications for infrequent and expert Terminal users
- how to move from bash to zsh
- configuring zsh to be more productive
- moving scripts from bash to zsh

This books is based on and expands the successful blog post series on, scripting classes and presentations. All the topics will be illustrated with lots of useful examples and practical applications.

Book Reviews

Bruce Carter

Very helpful in transitioning to zsh5 star

This is another very useful book by Armin. Of course, one could stumble through script after script (and we have a LOT between our Jamf Pro MDM and our setup and repair scripts) looking for the differences between zsh and the other shells, but this reference brings it all together in one place.55


Great book to help you make the jump to zsh5 star

If you’re procrastinating or just on the fence about moving to zsh, this is a great book to help you make the jump. Good for any OS where zsh is available, not just macOS. I use the zsh setup i created after reading this book across all my Macs and Ubuntu machines.55


A Perfect Way to Switch Over From Bash5 star

I went from using Oh-my-zsh and not understanding a single thing about what I was configuring to understanding every single line in my .zshrc (and writing it myself)! This book is excellent. I put off switching from bash to zsh because I wasn’t comfortable with learning something new as far as the command line goes. This book put all those worries to rest.55


Great for an intermediate coder5 star

I've worked as a developer for a few years now, but never really took time to learn how the terminal actually worked, outside of adding a few things to my path when Stackoverflow told me to. Once I upgraded to Catalina and got the message about the default shell now being ZSH, and having no idea what that meant, I figured it was time to address this gap in my knowledge. The intended audience of this book is definitely people who are skilled with Bash, but Armin does a great job of explaining things so anyone with any terminal and/or programming experience should be able to follow along. Some stuff was a bit over my head and unecessary for my workflow as a web developer; MacOS system administrators will definitely get the most value out of it. With that said, thanks to this book I've heavily customized my zsh profile and written several small scripts to automate some of my workflow, and I'm sure I'll be writing more in the future!55


Great Breakdown5 star

I was nervous about switching from scripting in bash to zsh, but after reading this I’m much more comfortable with making the transition. There are definitely some differences (which are clearly explained), but I understand what those are and how to address them.55

   Users Online