-3

There are answers in this site which use the a term similar to "bourne-like shells".

That may raise some natural questions:

  • Which shells are Bourne-like?

  • Is the Bourne shell itself also a Bourne-like shell?

  • If that last question is true, What is the set of "Bourne-like descendants" but excluding the Bourne shell itself called?

We may improve by developing some taxa about shells. Maybe family and specie could be enough. Families:

  • Bourne (only the bourne shell)
  • csh (csh,es,rc,akanga)
  • Ksh (ksh,lksh,mksh, bash)
  • zsh.

Maybe a Posix family as well, that should be up for discussion IMhO.

6
  • 1
    What's the use case for this? Sep 18, 2018 at 14:41
  • @MichaelMrozek (1)Any situation in which it is useful to be precise about the list of shells that are being addressed. (2)Avoid fuzzy descriptions that may raise missunderstandings. (3) Provide new users with a clearer (and more precise) language. (4) Help new users with a simpler taxonomy. (easier to say Mammal than to list some of them. Easier to say dinosaur than to say "the older animals that existed before the Cretaceous–Paleogene extinction event 66 million years ago almost erased them (except for birds))".
    – user232326
    Sep 18, 2018 at 14:55
  • 2
    In my experience, when we use the term "bourne-like" we mean "bourne shell and similar shells". And this is usually used for very, very general shell features. Things like "The way to set a variable in bourne-like shells is var=value". When would we need to be more specific than that and yet not so specific as to name the actual shell we mean? Could you clarify?
    – terdon Mod
    Sep 18, 2018 at 20:55
  • Ancient/limited/simpler shells (bourne,ash,dash) lack a lot of features (as basic as arrays). Probably the word "ancient" is a good tag for them. But: What is the name of extended (newer) shells that follow the general syntax of Bourne? To list only expanded shells we need to remove Bourne, dash, ash and ?. With similar syntax to Bourne we probably need to include the ksh family (ksh, mksh, lksh, and ?), bash (which makes efforts to match ksh syntax). Perhaps not zsh as it makes strong efforts to be "different". @terdon (cont...).
    – user232326
    Sep 18, 2018 at 23:49
  • @terdon (Cont...) That's the main group of shells used here without one simpler name to use. Mainstream? but that name would change with time. Mainstream shells of today could decay in use and the name will become fuzzy again as to what it really means. Or mainstream in one platform is not mainstream in another ... In any case, giving names to ideas (groups of shells) is a natural (human) solution to correctly use the language and convey clear meaning. Look at how long I had to write to describe the simple (maybe not) (general) idea of "newer bourne-syntax/flavor/compatible(?) shells"
    – user232326
    Sep 18, 2018 at 23:58
  • Note that rc/es/akanga (a family on its own, based on Byron Rakitzis's rc copied/inspired from the plan9 shell) has nothing to do with csh. csh is probably the Unix shell with the worst syntax while rc probably the one with the best. fish is another popular shell nowadays. Sep 26, 2018 at 6:44

1 Answer 1

3

While I appreciate efforts towards simplification, I think obscuring the actual shell names would lead to more confusion, not less.

I think that most of the questions here focus on one shell in particular (whether that's bash or dash or zsh or ...), and adding more tags or wording would not benefit those questions. Questions that specifically include two shells might ask about transferring functionality from one to the other; again, the question and answers would be specific to those shells.

I wonder if you're seeing some answers (Stéphane's come to mind) who have an encyclopedic-level of knowledge and can offer variations in their answer for users of other shells than were directly asked about.

To your comment regarding a potential benefit:

Help new users with a simpler taxonomy. (easier to say Mammal than to list some of them. Easier to say dinosaur than to say "the older animals that existed before the Cretaceous–Paleogene extinction event 66 million years ago almost erased them (except for birds))"

I think it'd be better to say "works in ksh93" or "requires in bash 4+" (if/when it matters) than to say "works in ksh-like shells".

You must log in to answer this question.