Steve Bourne Talks About the History of Sh 232
An anonymous reader writes "Steve Bourne, the creator of the Bourne shell, or sh, talks about its history as the default Unix shell of Unix Version 7. Bourne worked on the shell in 1975 and said the process took no more than 6 months. Sh aimed to improve on the Thompson shell. 'I did change the shell so that command scripts could be used as filters. In the original shell this was not really feasible because the standard input for the executing script was the script itself. This change caused quite a disruption to the way people were used to working. I added variables, control flow and command substitution. The case statement allowed strings to be easily matched so that commands could decode their arguments and make decisions based on that. The for loop allowed iteration over a set of strings that were either explicit or by default the arguments that the command was given.
I also added an additional quoting mechanism so that you could do variable substitutions within quotes. It was a significant redesign with some of the original flavor of the Thompson shell still there. Also I eliminated goto in favour of flow control primitives like if and for. This was also considered rather radical departure from the existing practice.
Command substitution was something else I added because that gives you very general mechanism to do string processing; it allows you to get strings back from commands and use them as the text of the script as if you had typed it directly. I think this was a new idea that I, at least, had not seen in scripting languages, except perhaps LISP,' he says."
Sh! (Score:5, Funny)
That was a pre-emptive "sh!" Now, I have a whole bag of "sh!" with your name on it.
Real history. (Score:5, Funny)
The history of "Sh" started when the first kid was born, and it has continued to this day. Later forked versions include "Shh!" and "STFU".
Re:Real history. (Score:5, Funny)
*BASH*
Greenspun's Tenth Rule (Score:5, Funny)
it allows you to get strings back from commands and use them as the text of the script as if you had typed it directly. I think this was a new idea that I, at least, had not seen in scripting languages, except perhaps LISP,
Greenspun's Tenth Rule: "Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp"
Re:Real history. (Score:5, Funny)
tcsh, tcsh, tcsh. -Mom
Re:Sh! (Score:5, Funny)
"I have a whole bag of "sh!" with your name on it."
In other words, you have the whole shebang?
Sh? (Score:5, Funny)
$ Sh
sh: Sh: command not found
Re:Real history. (Score:4, Funny)
*BASH*
Bourne Again SHell - I remember when I first learned of it, thinking "Wow! Unix meets Jesus!".
Re:Real history. (Score:1, Funny)
Really? It made me think MATT DAMON
Re:Greenspun's Tenth Rule (Score:2, Funny)
cat
overlordofmu:x:1000:1000::/home/overlordofmu/:/bin/lsip
Example ---
mu login:
Password:
CMU Common Lisp 19e (19E), running on mu
With core:
Dumped on: Thu, 2008-05-01 11:56:07-05:00 on usrtc3142
See for support information.
Loaded subsystems:
Python 1.1, target Intel x86
CLOS based on Gerd's PCL 2004/04/14 03:32:47
*
Aren't I amusing!?!?
Re:Real history. (Score:1, Funny)
The history of "Sh"...
In a nutshell:
It's no hassle...
Sh!
But...
Sh!
I'm...
Sh!
All I'm say...
Sh!
There gonna get a...
Sh!
I'm...
Sh!
I'm just...
Sh!
Would...
Sh!... Knock-knock.
Who's there?
Sh!
But...
Let me tell you a little story about a man named Sh!
Now there's a man with hair on his chest (Score:5, Funny)
Re:Greenspun's Tenth Rule (Score:5, Funny)
Greenspun's Tenth Rule: "Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp"
As a corollary, we can see that any C or Fortran program that does not contain an ad hoc, informally-specified, bug-ridden slow implementation of half of Common Lisp is insufficiently complicated.
Re:PowerShell (Score:4, Funny)
I thought he was referring to Apple's price for a Mac Mini with OS X installed.
Re:PowerShell (Score:4, Funny)
Imagine the noise of a beowulf cluster of washing machines
They're called laundromats.
Re:PowerShell (Score:5, Funny)
I've heard of those... they process threads there, don't they?
Re:Real history. (Score:5, Funny)
Shell To Frustrate Users?