Shawn Walker wrote:
> On Feb 6, 2008 4:14 PM, Kyle McDonald <[EMAIL PROTECTED]> wrote:
>   
>> Shawn Walker wrote:
>>     
>>> On Feb 6, 2008 3:37 PM, Kyle McDonald <[EMAIL PROTECTED]> wrote:
>>>
>>>       
>>>> Shawn Walker wrote:
>>>>
>>>>         
>>>>> On Feb 6, 2008 3:18 PM, a b <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>> Oh, and as far as the enterprise argument, go talk to some of the
>>>>> enterprise sysadmins who post here; they hate that /bin/sh isn't
>>>>> anywhere near portable across systems.
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> It's also not part of any standard, so how could it really?
>>>>
>>>>         
>>> That doesn't excuse having a good standard shell for /bin/sh.
>>>
>>>
>>>       
>> What reason is there for the 'standard' shell to be named /bin/sh though?
>>
>>     
You didn't answer this one.

You seem to think that 'bin'sh is the name of the 'default system 
shell', and therefore if it's desirable for the default system shell to 
be POSIX compliant, then /bin/sh has to be also.

Your premise is false. the name /bin/sh is not annointed with any 
special posers to be any more important of a shell on a system than any 
other. It's just the traditional name for the 'bourne shell'.

People have written millions of line s of script code that depends on 
the behaivior of the bourn shell being found at /bin/sh. You want to 
tell all of the users of that code 'Opps, sorry. This is progress.' 
instead of just using the standarized, portable, method for loacating a 
standards compliant shell at whatever path the system decides to install it.

>> When there is a standards compliant shell at another name that will work,
>>     
>
> Don't know; don't care. All I know is that other platforms are moving
> that way and it can only be a good thing in the long-term.
>
>   
Only if the move is really a step forward.

Linux put bash as /bin/sh because GNU didn't have another sheell at the 
time. Now, from posts in this thread, it appears some are looking to get 
away from 'bash' because it wasn't a good choice.
I guess it was good we didn't follow linux's lead back then huh?

Just because everyone is doing it doesn't make it good or right. And I 
don't aggree it's 'good' or 'right' to do the same thing just to be the 
same either.
> The long-term view is that other platforms will have a POSIX shell at
> #!/bin/sh and OpenSolaris, in my view, should have one as well to meet
> those changing market conditions.
>
>   
Changes to 'market conditions' are made by the customers, not the 
developers. Just because a developer makes a change does not mean his 
customers were asking for it. Here in this list we have heard from 
several Sun customers who are specificall asking for this not to happen. 
There was I think one (pother than you) who thought it was a good idea. 
Where is the loud call for this form the market?

There is a mechanism in POSIX for a script to determine where on a 
system a POSIX shell is located. Any script author who wants to write 
his script once for all posix platforms should use that mechanism to 
make sure his script is run. *If they haven't done this, then they 
haven't written a POSIX portable script.*
>> Trying to use software on a system other than what the developer
>> intended is asking for problems. Obviously the developer didn't test it
>> on these other platforms either.
>>     
>
> I disagree.
>   
You don't think developers should not test their code on all the 
platforms they want it to run on?

You think you should have guarantees that a program from one platform 
will run on any other without change or testing?

When I want that, I look at languages that run in a virtual machine 
environment. Not Shell scripts.
>> Given that there is no standard for how /bin/sh should work, it's
>> possible that those scripts even take advantage of non-standard
>> differences of the /bin/sh, and that they still won't work on  strictly 
>> POSIX compliant /bin/sh that doesn't also emulate the other behaviors of the 
>> /bin/sh sheel they written for
You missed what I really said: Not only will scripts that work today 
break. But all those scripts you're hoping to make just magically work 
will probably still need work!
> Some things become standards because the market adopts them.
>
>   
No. Standards are things that a  product or porogram can be tested 
against and verified to meet.
> Not every "standard" comes about as the result of a committee; some
> come about by changes in the market.
>
>   
Maybe in the beginning, but they are documented, considered, revised, 
commented on. etc. before becoming standards. They're not created just 
from shear critical mass.
>> If these scripts will magically start working when /bin/sh is ksh93
>> (which I doubt)  then they'll also start working if the users edit them to 
>> start with #!/bin/ksh. And sinve that is (more?) standards compliant,that 
>> should still work on the platforms the scripts already work on.
>>     
>
> That is not really a practical option in the long term.
>
>   
The only practical option long term is to start writing portable scripts 
using standards that platforms and programs can be tested against. Then 
at least when you know your script obeys the standard, it will run on 
all the platforms that obey the standard too.
> We can't force everyone else to do things our way; we must adapt to
> the majority way where possible.
>   
Not our way. The POSIX way.
> Just as the UNIX certification has become largely irrelevant in
> today's market (though is still valuable to certain parts of it).
>
>   
huh?
>> Are different implementations of the Bourne Shell incompatible? Yes.
>>     
>
>   
> *Some*, but not all, are.
>
>   
I meant incompatible with each other. Not incompatible with POSIX. I 
don't think, and someone can correct me if I'm wrong that any shell that 
has true Bourne shell behavior on any platform will meet the 
requirements of a POSIX shell.
>> Is /bin/sh the tradition location/name of the Bourne Shell? Yes.
>>     
>
> On some platforms.
>   
No. Traditionally it is the location of the bourne shell. period.
That some platform put something else there just to have something there 
(becuase they didn't have to have something there.) is irrelevant.
>>> At least with a POSIX shell for /bin/sh, there is a far better chance of 
>>> getting scripts written by third parties to work.
>>>
>>>       
No there's not. More than just the shell needs to be POSIX. The whole 
environment needs to be too. Once you setup or scripts environment 
properly, then you can run (more) Portably across systems.

As matter of fact setting up your enviroment to POSIX, requires you to 
use a POSIX 'userland', not GNU. So pushing for a POSIX shell for script 
compatibility kinds goes against your push for the default userland to 
be GNU.

Just a POSIX shell gets you next to nowhere.



_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to