On 8/29/16 4:05 AM, Joerg Schilling wrote:
Gabriele Bulfon <gbul...@sonicle.com> wrote:
Wow, looks like I have ignited a long thread! :)
Maybe I should have better stated that it's not about bash, but that the shells
are said to be Bourne-compatible.
Also, maybe I exagerated the number of shells, it's about one hundered at
most... ;)
There are not so many useful shells that are close to the standard.
Others have commented well but just one comment on "the standard" for
interactive use, at least for the engineering teams I work in:
1. Back in the 80s/90s the only choices were sh and csh. Since vanilla
sh was primitive and csh was much more user friendly, "everyone" used
csh, at least for interactive non-scripting usage. And csh definitely
had history editing via !23:s/old/new/, in fact this was one of the key
advantages.
2. From the point of view of "close to the standard": for an average end
user today, the standard was csh, not POSIX. On the one hand tcsh came
along as a compatible upgrade which fixed several of csh's annoying
bugs, so people have moved to it. And on the other other hand a large
list of "improved" but incompatible shells such as
zsh/bash/ksh/bosh/etc. Hence probably not a surprise that most people
stick with tcsh as an upgrade from csh.
3. Finally, most sites/projects by now have a whole bunch of accumulated
site.cshrc, project.cshrc, and similar startup files which only work
with csh/tcsh. So there's a large incentive to not use non-*csh scripts
because this would need to be duplicated. In a few cases we do actually
have *sh versions, but not always.
Scripting is a different matter, hopefully.
Hugh.
bash huge and slow, not very close to the standard
bosh small, fast and close to the standard
dash does not support multi-byte and thus can only be used for embedded
systems. If multi-byte support was added, it would be slower than bash
ksh (ksh88) The master for POSIX definitions but there are several bugs
and as a result, it is less POSIX compliant than bosh.
ksh93 less POSIX compliant than ksh88, but currently the fastest known shell.
This may change when bosh implements a new field splitting algorithm
that
avoids one expensive multi-byte copy operation.
mksh small, nearly as fast as bosh but needs set -o posix to be posix
compliant. One of the best selections.
zsh far from the standard, but "test" and arithmetic expansion are
implemented similar close to the standard as in bosh.
-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription:
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com