The A-Z of Programming Languages: BASH/Bourne-Again Shell

When the Bourne Shell found its identity

Is there a strong relationship between the original Bourne Shell and the Bourne-Again Shell?

I'd say there is a linear relationship: the original Bourne Shell was very influential, the various System V shell releases preserved that heritage, and the Posix committee used those versions as the basis for the standard they developed.

Certainly the basic language syntax and built-in commands are direct descendants of the Bourne Shell's. Bash's additional features and functionality build on what the Bourne shell provided.

As for source code and internal implementation, there's no relationship at all, of course.

What prompted the language's name: why was a pun created on the Bourne Shell?

The FSF has a penchant for puns, and this one seemed appropriate, I suppose. The name predates my involvement.

Have you faced any hard decisions in maintaining the language?

The hardest decisions are the ones dealing with compatibility: how compatible to be with the versions of sh existing at various points throughout Bash's history; how compatible to be with the features from the Korn shell I considered valuable; where and how to differ from the Posix standard, and when to break backwards compatibility with previous Bash versions to correct mistakes I had made.

Some of the features implemented (and not implemented) required a lot of thought and consideration -- not how to implement them, but whether or not to invest the resources to do so. Most of the Bash development over the past 15 years has been done by one person.

Are you still working with the language now?

I am. In fact, the next major release of Bash, Bash-4.0, should be out sometime this (Northern) summer.

What is the latest project you have used it for?

I mostly use Bash for interactive work these days. I use it to write some small system administration tools, but I don't do much system administration any more.

What is the most exciting piece of code (that you know of) ever written in Bash?

That's hard to say. Lots of interesting projects have been implemented as shell scripts, or sets of shell scripts.

I particularly like the various versions of the Bash debugger that were implemented completely as shell scripts. That's pretty complex work. I've seen entire web servers and other surprisingly substantial applications written as shell scripts.

Join the newsletter!

Or
Error: Please check your email address.

Tags a-z of programming languages

More about etworkLinuxNUWikipedia

Show Comments
[]