Hacker News new | past | comments | ask | show | jobs | submit login

Need a BSD or MIT licensed bash work-alike, but that is not a fun project to undertake.



Why not drop bash completely and make zsh the default shell? Apple has been shipping zsh for a very long time already...


IIRC 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


Early 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!


fish 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!


Ahh 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...


fish 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.


I 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


On 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!).


Fish is not 100% bash compatible so that would break scripts everywhere


Only 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?


It's not bash or POSIX compatible at all, they're basically incompatible.



tcsh was the default shell on OS X before Apple switched to bash with OS X 10.3 Panther released in 2003.


Why not just use /bin/ksh which is installed by default on macOS? Better programming, faster and 'set -o emacs' give it readline keybindings.


What does FreeBSD use? IIRC they've been trying hard to avoid the GPL


Tcsh. It also ships with sh, a BSD licensed Bourne shell that is the default for the root user on recent versions.


BSD sh is the Almquist shell, also used by Debian for dash which is their /bin/sh


Just use zsh. A recent enough version comes with MacOS.


Bash is universal. It's nice to be able to write a script that takes advantage of later features that runs on both Mac and Linux.


As it is zsh.

I remember the days where each login into an UNIX system would give me a totally different shell.

But all relevant ones were installed, so it was only a matter of having the right shebang paths.


As are Ruby and Python. I can't remember the last time I used Bash for scripting


Various versions of Ruby and Python are. You can expect Ruby 1.9+ or Python 2.6+, that's about it.


I can. I just wanted associative arrays, man...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: