*** Version 4: 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 scriptingosx.com, scripting classes and presentations. All the topics will be illustrated with lots of useful examples and practical applications.
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
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
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