bruce.dubbs at gmail.com
Wed Mar 14 15:03:22 PDT 2007
Ag. Hatzimanikas wrote:
> Although I am rather new in linux-land , I can't really understand why the
> vast majority of linux users still uses bash as their interactive shell.
> Zsh is far superior in almost every aspect of interactivity.
I don't know the reasons for sure, but let me give you the information
as I understand it.
In the beginning of Unix, Steve Bourne created the Bourne Shell (sh).
When Berkeley started working on Unix, Bill Joy wanted a more C like
shell and created csh.
David Korn (Bell Labs) created the Korn shell that included many of the
capabilities of csh, but had backward compatibility of sh. This was
proprietary to AT&T until 2000.
Bash was an open source variant of sh that included many of the
capabilities of sh, csh, and ksh. Because it was a Gnu program, Linus
chose it for most Linux uses. Because of this, many Linux shell scripts
assume bash even though they may say /bin/sh. Distros continue to use
bash as a default for a reason.
zsh incorporates many of the features of all of the above. For that
reason, it is *large*. In 2007, that may not make a significant
difference, but it certainly did when Linus chose bash. Additionally,
zsh was first written in 1990 and not very mature compared to others
when bash was first chosen.
Your comment on zsh vs bash is similar in a lot of ways to many other
things in software. What gets established first is very hard to
dislodge (unless you are a monopoly). Why do people use MS Office
instead of Open Office? Explorer instead of Netscape/Firefox/Seamonkey
(or other browser)? vim or emacs?
The bottom line is that it is very hard to change a lot of people away
from what they are used to using. Existing software tends to evolve to
satisfy many users while maintaining backward compatibility. You are
relatively new and don't have a large investment in learning so you are
automatically open to new things.
There is a lot to say for consistency. New and useful features are a
benefit too. That's why open source is so good. You can have a nicely
broken in, comfortable, program or a brand new program with lots of new
features. You have the choice.
More information about the blfs-dev