Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Solaris 10 System Boot and Database Startup

Re: Solaris 10 System Boot and Database Startup

From: joel garry <joel-garry_at_home.com>
Date: 8 Aug 2006 16:11:23 -0700
Message-ID: <1155078683.340931.284400@p79g2000cwp.googlegroups.com>

Ceri Davies wrote:

> See
> http://typo.submonkey.net/articles/2006/06/14/shell-scripting-for-dbms-vendors
> for a rant I wrote about this some time ago. It also has a solution.

>For some reason, the first line of dbstart (and dbshut, but I'll be talking about dbstart in the >main) reads:
>
>:
>rather than the traditional
>
>#!/bin/sh
>I've seen this practice a lot over the years, from numerous different people, and I have no idea >where it came from.

"Once upon a time, there was the Bourne shell. Since there was only "the" shell, there was no trouble deciding how to run a script: run it with _the_ shell. It worked, and everyone was happy.

Along came progress, and wrote another shell. The people thought this was good, for now they could choose their own shell. So some chose the one, and some the other, and they wrote shell scripts and were happy. But one day someone who used the "other" shell ran a script by someone who used the "other other" shell, and alas! it bombed spectacularly. The people wailed and called upon their Guru for help.

"Well," said the Guru, "I see the problem. The one shell and the other are not compatible. We need to make sure that the shells know which other shell to use to run each script. And lo! the one shell has a 'comment' called :, and the other a true comment called #. I hereby decree that henceforth, the one shell will run scripts that start with :, and the other those that start with #." And it was so, and the people were happy.

But progress was not finished. This time he noticed that only shells ran scripts, and thought that if the kernel too could run scripts, that this would be good, and the people would be happy. So he wrote more code, and now the kernel could run scripts, but only if they began with the magic incantation: #!, and told the kernel which shell ran the script. And it was so, and the people were confused.

For the #! looked like a "comment." Though the kernel could see the #! and run a shell, it would not do so unless certain magic bits were set.  And if the incantation were mispronounced, that too could stop the kernel, which after all was not omniscient. And so the people wailed, but alas!, the Guru did not respond. And so it was, and still is today..." - Chris Torek

So now you know where it came from, and what the proper traditional is.

jg

-- 
@home.com is bogus.
Not so wonderful if it is understandable.
Received on Tue Aug 08 2006 - 18:11:23 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US