Since I posted my initial blog on this, I've received a few comments and a surprising amount of mail asking why I did
/bin/sh, which is an obviously obsolete shell, and not
ksh93; some of it bordering on insulting.
Let me go through a few reasons why I did this one first.
It's the one I was asked to do.
The Bourne shell has been around for a very long time and there are, quite literally, millions of scripts that have been written in it, some of them very poorly so.
Much work in the open source environment is done to scratch an itch. In my day to day work doing performance calls I come across an amazing number of instances where being able to probe
/bin/sh the way that this allows me to, would be an incredibly useful thing to have in order to explain to a customer why their thrown together script runs so slowly, most of these are
/bin/sh scripts. Coding probes for
ksh93 has no immediate impact on my day to day work as ksh93 is not yet integrated into OpenSolaris.
Just doing a quick poll of usr/src in the opensolaris tree gives me the following:
|Scripting Language||Actual scripts||Dynamically created scripts||Comments|
|/usr/bin/sh||39||43||/bin symlinked to /usr/bin|
|/sbin/sh||186||272||symlink to /bin/sh|
|/usr/bin/ksh||53||50||/bin symlinked to /usr/bin|
|/usr/bin/perl||241||237||/bin symlinked to /usr/bin|
sh is a logical first step from which other providers can follow.
ksh93 is currently on a track to get integrated. I really don't want to drop any roadblocks on it now.
Does it really matter which one comes first?
At no point did I say I would not consider doing
ksh93 or even helping someone else do it, indeed I have had communication with Roland suggesting ways in which this could be done. Believe it or not, there is a plan to get all the shells done. Keep an eye on http://www.opensolaris.org/os/community/dtrace/shells/.
The last thing I expected when I started on this was to be the target of insults because I didn't do someone's favorite shell. I'm wondering how this kind of behavior encourages anyone to actually do anything that is of any benefit to the community. Come on folks, we can do better than that.