OpenSolaris

You are not signed in. Sign in or register.

OpenSolaris Project: Shell: bourne shell, korn shell, C shell, etc.

View the leaders for this project
Project Observers

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, 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)
      Further ideas include:
    • /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