5 ms·
Apple makes zsh default shell on macOS
- skrause 7y agoPrevious discussion: https://news.ycombinator.com/item?id=20090193 https://news.ycombinator.com/item?id=20090193
- deleted 7y ago[deleted]
- stOneskull 7y agoit doesn't say why. is it a BSD vs GNU thing?
- bcruddy 7y agoGNU switched to GPL v3 a while ago, I imagine this is a license thing
- nailer 7y agoIt'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.
- sarah180 7y agoPowerShell is available for Linux & Mac now if you're looking for a structured, object-oriented shell on your Mac.
- robin_reala 7y agoDoesn’t really fit into the posix compatibility bucket though. If that hadn’t had been a concern then I imagine fish is the most Mac-like shell out there.
- nailer 7y agoI'm not sure how much POSIX matters anymore. Linux and MacOS determine 'standard' Unix behavior by their market share - I can understand disliking this though.
- ChrisSD 7y agoThe 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.
- nailer 7y agoMost of the time (though not always) the methods are the utilities. From https://github.com/mikemaccana/powershell-profile/#how-does-powershell-actually-differ-from-bash-day-to-day https://github.com/mikemaccana/powershell-profile/#how-does-... $results = @{} ls -recurse -filter "eslint-scope" | foreach { $file = "${PSItem}\package.json" $version = cat $file | convertfrom-json | select -ExpandProperty version $results.Add($file,$version) } echo $results | format-list You don't have to pipe to 'select', 'where' etc - if you send something to grep or select-string you'll be looking for regexs bash-style.
- hackbinary 7y agoI thought everyone was using the fish shell on the Mac. :) http://fishshell.com/ http://fishshell.com/
- Quequau 7y agoI 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.
- yoz-y 7y agoI 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.
- Aissen 7y agoI recently moved from bash to fish. Re-training is was easier than I thought, especially not having to tap Ctrl+R every time I'm looking in the history (that one was hard wired). I wrote about my migration here: https://anisse.astier.eu/bash-to-fish.html https://anisse.astier.eu/bash-to-fish.html One thing I haven't touched in my article: globbing behaves differently than the default, which means you have to quote your '*.ext' arguments when using find for example. This is fairly well documented: https://fishshell.com/docs/current/index.html#expand https://fishshell.com/docs/current/index.html#expand I very rarely move back to bash, so I consider this migration a success :-) If you haven't yet, should try it !
- wirrbel 7y agoI can recommend the GRML ZSH config to go with ZSH https://grml.org/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.
- maratc 7y agoFrom 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.
- wirrbel 7y agowill have a look at zprezto, but I wonder how its "designed for Linux", or at least how that would matter. Been using this template for years on Mac and have not had the impression that I would be missing out on things.
- CJefferson 7y agoIs there any news on if apple is keeping python 2 and/or adding 3 by default?
- EWBears 7y agoScripting 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_notes/macos_10_15_beta_release_notes https://developer.apple.com/documentation/macos_release_note...
- PunchTornado 7y agogood decision. macos shouldn't come with a python version installed.
- zimbatm 7y agoThis 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`.
- floatingatoll 7y agoBash went GPLv3. Apple will never ship GPLv3. Persuade bash to relicense and they might consider it. Otherwise, goodbye bash.
- oauea 7y agoNothing 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.
- jakobegger 7y ago> Nothing wrong with GPL3 > ... > petty licensing concerns Apple's lawyers probably think different. You can install all the GPLv3 software you want on your Mac (Macports and homebrew make it easy). But Apple made it clear that they are not going to ship anything GPLv3 licensed.
- machz 7y ago> Nothing wrong with GPL3. Wrong > I'd rather use an OS that's willing to ship essential software. Ok, there's Linux in that case. > The OS is there to serve the user, not make their lives more difficult because of petty licensing concerns. "Petty licensing concerns" are an issue for big companies.
- Theodores 7y agoI don't fully understand why GPLv3 is not good for Apple. I did try to ask my favourite search engine but I did not find a clear, concise answer. What is wrong with GPLv3 for Apple and why is it okay in Linux?
- simula67 7y agoNo surprise. This has been coming for a long time.
- arkano 7y agoIt should have been fish shell. :(
- t0mbstone 7y agoIf you like zsh, you should check out the "oh-my-zsh" addon, which features 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 140 themes to spice up your morning, and an auto-update tool: https://github.com/robbyrussell/oh-my-zsh https://github.com/robbyrussell/oh-my-zsh
- atomi 7y agoOr prezto if you just like a few sane extras without bloat.
- thatswrong0 7y agoI remember trying oh-my-zsh in the past and over time having its performance crawl to a halt. Been rocking zprezto for years