When comparing zsh vs Hazel, the Slant community recommends Hazel for most people. In the question“What are the best power user tools for macOS?” Hazel is ranked 14th while zsh is ranked 53rd. The most important reason people chose Hazel is:
Hazel watches whatever folders you tell it to, automatically organizing your files according to the rules you create. Have Hazel move files around based on name, date, type, what site/email address it came from (Safari and Mail only) and much more. Automatically put your music in your Music folder, movies in Movies. Keep your downloads off the desktop and put them where they are supposed to be.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Interactive autocompletion
When you start typing a command, you can press the tab key and it will complete the command you started typing. If there are multiple potential commands, you can choose which one to run by simply pressing tab again. Case-insensitive by default, too.
Pro Powerful community-driven tools via oh-my-zsh
Oh-my-zsh is a community-driven framework, which helps users with their zsh configuration and plugins. 400 plugins, 200+ themes and auto-updates to always be up to date.
Pro Autocomplete for options
Zsh intelligently determines if you are trying to complete a file path or an option, and pressing tab after typing -
will reliably bring up a list of options.
Pro Good bash compatibility
Things you've learned using bash will largely apply to zsh. Scripts written in bash will run with little to no modification.
Pro Safer variable behaviour
Unlike Bash, zsh does not split unquoted variables by default, making it less error-prone.
Pro Recursive globbing
ls **/*.log
for example is supported by ZSH.
Pro Great install procedure
Zsh will take you through a procedure which is roughly 30 minutes in length before during install. Through this procedure it asks you to set different options and customize the shell the way you want it to. Most of these settings are also found in other shells, but to customize them you have to go dig configuration files while zsh allows you to do it in the beginning.
Pro Shared histories
If you spend a lot of time in the terminal, most likely you will have several terminal windows open. Zsh has great support for command line histories. The history is unique and shared through all the different instances.
Pro Smart escaping
Zsh can determine the context of the command you're typing in and determine if it should escape characters if you're typing in a URI.
Pro Pipe output to a temporary file:
Some programs don't support loading from stdin, but ZSH can store outputs to a temporary file, example: unzip =(curl http://example.com/someZipFile.zip)
Pro Faster spelling correction
Zsh' s correct (or correctall) is vastly superior to Bash's attempt at spelling correction.
Pro Automatically cleans up and maintains folders
Hazel watches whatever folders you tell it to, automatically organizing your files according to the rules you create. Have Hazel move files around based on name, date, type, what site/email address it came from (Safari and Mail only) and much more. Automatically put your music in your Music folder, movies in Movies. Keep your downloads off the desktop and put them where they are supposed to be.
Pro Very customizable
More so than alternatives.
Pro Cleans up after uninstalling an application
When you delete an application Hazel will pop up and show you a list of attached files belonging to the deleted app to clean your uninstall more correctly.
Pro iLife Support
Hazel features new actions to import your files into iPhoto or iTunes. And with Hazel 3, you can import into Aperture projects and folders as well.
Pro Process files depending on their content
Its in-file search criteria allows it to extract dates from files (e.g., to add to the filename) and to categorize recurrent files (e.g., receipts) into subfolders (or to treat them in some specific way).
Cons
Con Not fully compatible with bash
There is a small chance you may have a bash script that doesn't work in zsh, although this is very very rare and most developers will never run into any issues.
Con Requires a lot of configuration to be used fully
Zsh requires a lot of tinkering with configuration files and downloading plugins in order to be able to do tasks which other shells may be able to do out of the box.
Con Defaults are unfriendly for a long-time bash user
Expect to find a configuration you like (or use the configuration utility) to set reasonable preferences. Default zsh interaction is different enough to make you stutter through what used to be familiar workflows.
Con Expensive
Con Doesn't work well with subfolders
The rules don't work very well with subfolders and working with archive files (zip, rar, gz, 7z, etc) is also limited.
Con Rules creation is a time consuming process
To really enjoy the power of Hazel, you will need to progressively create more and more rules to manage each specific kind of file, but this process is slow, quite annoying when you have many similar rules, and can only be learned on the way, as you find new uses for it.