4 ms·
Why not drop bash completely and make zsh the default shell? Apple has been shipping zsh for a very long time already...
by skrause 9y ago
Why not drop bash completely and make zsh the default shell? Apple has been shipping zsh for a very long time already...
- kruhft 9y agoWhy not just use /bin/ksh which is installed by default on macOS? Better programming, faster and 'set -o emacs' give it readline keybindings.
- kitotik 9y agoIIRC csh was the default pre OS 10.2 days. I previously thought zsh fit the Apple ethos and aesthetic the best with its nice completions and clean(er) syntax. Now I wish they’d start shipping fish as it provides such a nice experience out of the box, and is gplv2
- jolux 9y agofish should be the default shell on macOS, possibly with a cool custom theme. then again it might turn off some of the hardcore bearded UNIX people who use it.
- dionian 9y agoI mean, any UNIX beard who isn't willing to configure his/her machine to use a different shell, probably really isn't a true UNIX power user... I would not care either way since I just use ohmyzsh, their github page has a shell oneliner to install it, good enough for me
- moondev 9y agoFish is not 100% bash compatible so that would break scripts everywhere
- stephenr 9y agoOnly scripts that are sourced by the active shell Edit: to clarify, any shell script that is executed will define its own shell to execute with (the #! line). There may be some issues if scripts have declared their shell as /bin/sh but they use bashisms, and then /bin/sh isn't provided by bash anymore, but honestly that's not necessarily related. The discussion here is about changing the default login shell for interactive user accounts to fish. If they did this though, it would be nice if they would use dash for /bin/sh, but I'm not sure how that's licenced - possibly gpl3 too?
- jolux 9y agoIt's not bash or POSIX compatible at all, they're basically incompatible.
- jolux 9y agoOn second thought this might lose them SUS certification so perhaps they shouldn't do this. I just think macOS is a friendly OS and fish is a lot friendlier than bash or even zsh out of the box (it's even right there in the name!).
- duskwuff 9y agoEarly versions of Mac OS X used tcsh as the default shell. That caused a lot of nasty compatibility issues -- I'm glad they changed it. Ironically, the primary developer of fish is an Apple employee. This is probably a significant reason why it's GPLv2 and not v3!
- kitotik 9y agoAhh right, tcsh! Thanks for reminding me. I think being so lost at the tcsh prompt is what first prompted me to start learning other shells and ended up with Zsh for a long awhile. Also, I had no idea the fish dev worked at Apple. I have no hopes of them going with that as a default, but I could certainly see them shipping it as part of the os...
- zanchey 9y agofish has been GPLv2 since well before ridiculousfish took over as the maintainer; changing to GPLv3 is not something we have the appetite or energy for!
- raimue 9y agotcsh was the default shell on OS X before Apple switched to bash with OS X 10.3 Panther released in 2003.
- jaytaylor 9y agoSee: https://fishshell.com/ https://fishshell.com/ Source code: https://github.com/fish-shell/fish-shell https://github.com/fish-shell/fish-shell