OpenSolaris

You are not signed in. Sign in or register.

OpenSolaris Project: Korn Shell 93 integration/migration project

View the leaders for this project
Project Observers

Endorsing communities

OS/Net (ON)

What are we are doing ?

The ksh93-integration project should investigate and execute the integration of the Korn Shell version 93 (ksh93) and related features, including:

  • Introduction of ksh93 (/usr/bin/nksh and /usr/bin/ksh93 were proposed until /usr/bin/ksh will be updated to ksh93)
  • Introduction of libshell.so (see below)
  • Investigate the migration of /usr/bin/ksh to the standard version of ksh93
  • Investigate changes required for ksh93 to replace the standard POSIX shell /usr/xpg4/bin/sh.
  • Discussion/bugfixing of Solaris-specific ksh93 bugs+fixes
  • Enhancement of Solaris tools to use libshell instead of homegrown commandline parsers (like zfs, xauth etc.)
  • Ensure backwards compatibility (for example via keeping the old version of Solaris ksh around as /usr/bin/oksh)
  • Replacement of duplicate ksh versions in various Sun products with libshell.so (which is ksh93 as a shared library), including dbx and dtksh

Why are we doing this ?

  • Because customers have been asking for it for years
  • Customers have requested ksh93 integration and ksh93 features in Solaris for many years. RFEs supporting this including 4113420, 6332421, 1215363, 4201349, 4448701, 4827484, 4877415, 5034853 etc.)
  • Lower the maintaince burden of Sun engineers by delivering an almost unmodified version of ksh93 instead of the current /bin/ksh codebase which is highly Solaris-specific
  • Lower the burden of developers and site adminstrators and improve interoperability between versions of Unix via upgrading /bin/ksh to ksh93 level
  • Provide a unified shell parser backend (libshell.so) for existing value-add (dbx/dtksh/tksh) and other Solaris components such as zfs.
  • Improve the user-friendliness for ksh users, via enhancements of editing modes, history, builtins etc

Current Status

Phase I, the integration of ksh93 as /usr/bin/ksh93 has been completed; ksh93 is now available as /usr/bin/ksh93 in Solaris ≥ build 72.
We're currently working on Phase II which will provide additional features (like the shell script compiler shcomp), improvements and bugfixes.

Filing bugs/RFEs

Submit a bug or RFE or view the list of open bugs.

Screenshots

(More screenshots can be found on the Screenshots page)
ksh93 i18n demo 1 ksh93 calculating Pi using the Wallis product
ksh93 associate array demo1 ksh93 mandelbrot demo1

References/Links

Announcements

08 Feb 2008 ksh93s+ (ast-ksh.2008-02-02) is out
28 Jan 2008 Indiana preview2 ships ksh93 as /usr/bin/sh+/sbin/sh
06 Dec 2007 Prototype XML/SAX parsing support for ksh93
09 Nov 2007 AT&T ksh93s+ 2007-11-05 released
08 Nov 2007 2007-11-05: ksh93 _update tarballs_ for OpenSolaris >= B72
02 Nov 2007 New ksh93s+ 2007-10-31 beta source tarballs
31 Oct 2007 Online copy of "Learning the Korn Shell, 2nd edition"
31 Oct 2007 ksh93-integration 2007-10-31 binary tarballs for Nevada >= B61 and <= B71 available
29 Sep 2007 OpenSolaris.org ksh93 documentation updated
24 Sep 2007 New ksh93s+ 2007-09-22 beta source tarballs