Live data from Hacker News

Apple makes zsh default shell on macOS

support.apple.com

11–20 of 46 posts

Re: Apple makes zsh default shell on macOS

#12
post #7
post #6

Earlier quoted context omitted.

It's a licensing thing yes. Current bash's are GPLv3, zsh is MIT. A pity they didn't make a structured output shell rather than traditional regex scraping but their main concern is compatibility, and zsh fits nicely.

PowerShell is available for Linux & Mac now if you're looking for a structured, object-oriented shell on your Mac.

The issue I have with Powershell is it's full on objected oriented. Personally I'd like something in between. Structured data where the "methods" are the utilities themselves.

Re: Apple makes zsh default shell on macOS

#13

Is there any news on if apple is keeping python 2 and/or adding 3 by default?

Scripting Language Runtimes Deprecations Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include scripting language runtimes by default, and might require you to install additional packages. If your software depends on scripting languages, it’s recommended that you bundle the runtime within the app. (49764202) Use of Python 2.7 isn’t recommended as this version is included in macOS for compatibility with legacy software. Future versions of macOS won’t include Python 2.7. Instead, it’s recommended that you run python3 from within Terminal. (51097165)

Source: https://developer.apple.com/documentation/macos_release_note...

Re: Apple makes zsh default shell on macOS

#14
This isn't going to fix the fact that they are shipping a 12 years old version of bash. How many scripts with `#!/usr/bin/env bash` are there out there?

Bash is the least worst language for bootstrapping since the alternative is POSIX shell which is even more difficult to get right.

The biggest issue is that Bash 3.x arrays don't work well with `set -u`.

Re: Apple makes zsh default shell on macOS

#15

I thought everyone was using the fish shell on the Mac. :) http://fishshell.com/

I know I was... well up until my 2008 MacPro died last month and I switched to Linux (ain't nobody I know gonna afford that new MacPro on their own).

Now I use Fish Shell on Linux and it's fine for what I usually do.

Re: Apple makes zsh default shell on macOS

#16

I thought everyone was using the fish shell on the Mac. :) http://fishshell.com/

I have used fish for a few years and quite liked it, but ultimately I think using zsh with oh-my-zsh or similar bundle is better because of bash compatibility.

I think if one only ever uses their own computers fish is better, but having to switch contexts, having to have different configurations and so on is a pain and not very productive.

Re: Apple makes zsh default shell on macOS

#18
post #14

This isn't going to fix the fact that they are shipping a 12 years old version of bash. How many scripts with `#!/usr/bin/env bash` are there out there? Bash is the least worst language for bootstrapping since the alternative is POSIX shell which is even more difficult to get right. The biggest issue is that Bash 3.x arrays don't work well with `set -u`.

Bash went GPLv3. Apple will never ship GPLv3. Persuade bash to relicense and they might consider it. Otherwise, goodbye bash.

Re: Apple makes zsh default shell on macOS

#19
post #10

I can recommend the GRML ZSH config to go with ZSH https://grml.org/zsh/ Works out-of-the-box for me on most machines (i.e. I don't maintain shell settings besides downloadding GRML zsh regularly) and it is not as big as oh-my-zsh.

From looking at it, this seems designed for Linux and not MacOS.

If you're looking to replace oh-my-zsh with something sane and fast, zprezto has been my go-to choice.

Re: Apple makes zsh default shell on macOS

#20
post #14

This isn't going to fix the fact that they are shipping a 12 years old version of bash. How many scripts with `#!/usr/bin/env bash` are there out there? Bash is the least worst language for bootstrapping since the alternative is POSIX shell which is even more difficult to get right. The biggest issue is that Bash 3.x arrays don't work well with `set -u`.

Bash went GPLv3. Apple will never ship GPLv3. Persuade bash to relicense and they might consider it. Otherwise, goodbye bash.

Nothing wrong with GPL3. I'd rather use an OS that's willing to ship essential software. The OS is there to serve the user, not make their lives more difficult because of petty licensing concerns.
Post reply on HN