Shell: bourne shell, korn shell, C shell, etc.
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