I've been told that zsh is the default shell in the new version of macOS "Catalina". Someone just asked me if I had a quick primer on why zsh is "better" than other shells. I've never really used others so I don't really know much about it, so I wasn't sure what to suggest other than Googling, Tj -- TJ Luoma TJ @ MacStories Personal Website: luo.ma (aka RhymesWithDiploma.com) Twitter: @tjluoma
On 3 Jun 2019, at 16:07, TJ Luoma <luomat@gmail.com> wrote: > I've been told that zsh is the default shell in the new version of > macOS "Catalina". For reference: https://support.apple.com/en-us/HT208050 On 3 Jun 2019, at 16:07, TJ Luoma <luomat@gmail.com> wrote: > Someone just asked me if I had a quick primer on why zsh is "better" > than other shells. Pretty broad and subjective topic, but off the top of my head i would suggest the following major benefits: * More advanced line-editing and tab-completion; completion scripts are updated regularly and shipped with the shell itself * Saner and more powerful parameter expansion (white-space handling, nesting, splitting, filtering, quoting, &c.) * More functionality built directly into the shell, which can make many scripting tasks faster to perform (likely at the expense of some start-up and memory over-head), as well as more portable across different systems (as long as you have zsh, obviously) The FAQ covers much of this: http://zsh.sourceforge.net/FAQ/ There are also a guide (http://zsh.sourceforge.net/Guide/zshguide.html) and a book, but none of them were really designed to 'pitch' zsh to users of other shells AFAIK dana
[-- Attachment #1: Type: text/plain, Size: 930 bytes --] Zsh language and its environment are more advanced and this allowed me to create an advanced plugin manager for it, zplugin ( https://github.com/zdharma/zplugin). When I was thinking about creating similar plugin manager for Bash, it seemed problematic and some features (like turbo mode) would have to be absent. In effect, Zsh gains one more advantage: plugin manager and the plugins microcosm. pon., 3 cze 2019, 23:11 użytkownik TJ Luoma <luomat@gmail.com> napisał: > I've been told that zsh is the default shell in the new version of > macOS "Catalina". > > Someone just asked me if I had a quick primer on why zsh is "better" > than other shells. > > I've never really used others so I don't really know much about it, so > I wasn't sure what to suggest other than Googling, > > Tj > > -- > TJ Luoma > TJ @ MacStories > Personal Website: luo.ma (aka RhymesWithDiploma.com) > Twitter: @tjluoma >
On Mon, 2019-06-03 at 17:07 -0400, TJ Luoma wrote:
> I've been told that zsh is the default shell in the new version of
> macOS "Catalina".
>
> Someone just asked me if I had a quick primer on why zsh is "better"
> than other shells.
>
> I've never really used others so I don't really know much about it, so
> I wasn't sure what to suggest other than Googling,
The classic introduction to this is the intro.ms file in the Doc directory of
the source. That goes right back to the earlier days, so doesn't mention
programmable completion, but is a pretty good introduction to why zsh
was different in the first place.
The format it's in shows it's age. You might be best simply to do something
like
nroff -ms intro.ms| colcrt | uniq >intro.txt
pws
It seems like a resource that we could use, but don't really have. I wish I knew enough to write one myself. As I said to my friend who told me about the change in Mac OS, I got started with zsh back around 1991 but never really used any other shell, so I don't really know what it does better than others or that others don't do, because it's what I've always used. I'll see if a web search turns up anything useful. If I find something worth sharing, I'll report back to the list. TjL -- TJ Luoma TJ @ MacStories Personal Website: luo.ma (aka RhymesWithDiploma.com) Twitter: @tjluoma
At 17:07 -0400 03 Jun 2019, TJ Luoma <luomat@gmail.com> wrote:
>I've been told that zsh is the default shell in the new version of
>macOS "Catalina".
Interesting that Apple's going back to that. zsh was also the default
shell in the public beta of OS X that they made available before the
initial release back in 2001.