What are we are doing ?
The "shell project" should investigate and execute improvements related to shells and the shell environment in (Open-)Solaris:
- Improve usuablity for plain users, including beginners and admins
- Maintain/update various shells in Solaris (including bash, csh, [[ksh93>>Project ksh93-integration.WebHome]], tcsh, zsh, /usr/bin/sh, /usr/xpg4/bin/sh, etc.)
- Implement /etc/env.d/ to provide a way to add plugable shell scriptfragments for startup/shutdown of user sessions (login, interactive)
- Improve the default shell environment, including:
- Manual-page subsystem, e.g. the defaults of MANPATH, PAGER, etc., the related tools and their default configuration
- Per-user temporary directories (TMPDIR), e.g. /tmp/<username> instead of putting everything into /tmp
- <more ideas welcome>
- Implement tools like /usr/sbin/chsh (change user shell) and /usr/bin/chfn (change finger/GCOS information)
- Improve internationalisation (=i18n) and localisation (=l10n) support in the shell environment
- Followup of the ksh93-integration project, including:
- ksh93 busybox project
- ksh93 Dtrace project
- "shcomp" - shell script compiler and shbinexec kernel module
- Start the work on a future POSIX shell standard which may include some of the newer ksh93/bash features like:
- associative arrays
- function-style functions with local variables and scoping
- floating-point math with C99 math functions
- $"..."-style localised strings
- "\u[unicodeval]" to describe a character using its hexadecimal unicode value
- "\w[widecharval]" to describe a character using its hexadecimal widechar value (for locales like ja_JP.PCK where the character values are not based on Unicode)
- /etc/sh.shrc and \~/.shrc as startup scripts for the standard shell in interactive mode
- /etc/sh.sh_logout as counterpart to /etc/profile
- Default path for loadable functions like /usr/libs/shell/
- <more ideas welcome>
Why are we doing this ?
- Improve the user-friendliness of the Solaris shell environment, via enhancements of the default setup, history, builtins etc
Current status:
The ksh93-integration project is reaching "PHASE I" (=initial putback of ksh93 in OS/Net).
References/Links
- OpenSolaris shell project
[http://www.opensolaris.org/os/project/shell/] - KornShell home page
[http://www.kornshell.com/] - Bourne-Again Shell (bash) home page
[http://www.gnu.org/software/bash/] - POSIX sh(1) manual page
[http://www.opengroup.org/onlinepubs/000095399/utilities/sh.html] - POSIX Shell Command Language
[http://www.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html] - Article: "Overview of the OpenSolaris Korn Shell 93 Integration Project"
by Roland Mainz
[http://www.opensolaris.org/os/project/ksh93-integration/osdevconf2007/osoldevconf2007_ksh93_talk_version100.html]
on 2009/10/26 12:17