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

Reply via email to