Based on the earlier discussion about the migration of /bin/ksh I'm proposing 
to migrate /bin/sh to ksh93 before /bin/ksh. It may prove to be a simpler work 
with fewer political obstacles because the feature set of the Bourne shell is 
smaller than the set of features found in ksh88.

Benefits:
* ksh93 as /bin/sh would provide a POSIX compatible shell
* Greater interoperability with other operating systems, including Linux
* Greater flexibility in script development
* Reduced maintenance requirements (only one code base instead of two needs to 
be maintained)
* The project would prepare the path for the larger /bin/ksh migration project

The Bourne shell is lacking POSIX conformance and common extensions available 
on other operating systems makes it a challenge to port even simple 
applications to Solaris.
This is multiplied by the problem that /bin/sh is the default shell for system 
calls such as popen(3c) and system(3c) or utilities like make(1) which cannot 
be changed to another shell based on a system wide tunable or other "easy" 
solutions to work around the limitations of the Bourne shell.

ksh93 is open source and will be readily available in Solaris as /usr/bin/ksh93 
soon, allowing community members to contribute fixes, resulting in a better 
quality default shell for Solaris.

In addition to many new features, a couple problems already described in the 
Sun bug database are fixed in ksh93, including:
* Bug ID: 4088172 *sh* request to have /usr/bin/sh be a POSIX shell 
* Bug ID: 6378708 *sh* could implement non-conflicting posix syntax 
* Bug ID: 6398988 /bin/sh should support $(), just like POSIX 

Regards,
Knut
 
 
This message posted from opensolaris.org

Reply via email to