Download 0.32 (2010-05-02). Latest changes: handle better root shells, locale with latest glibc, man command with UTF-8 locale setting.

Download latest

zbkrc README file

This file describes startup files for Z-shell (zsh), bash and ksh,
written by Pekka Marjola .

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Zsh uses by default multiple startup files. To understand how various
files are used, the configuration files are listed below in the order
they are called. Additional files called from other files are

/etc/zshenv			(setopt norcs here prevent reading other files)
$ZDOTDIR/.zshenv		(if ZDOTDIR is unset, try $HOME/)
  $ZDOTDIR/.shinit/autoload	(autoload functions)
  $ZDOTDIR/.shinit/readfile	(function to read init files)
  $ZDOTDIR/.shinit/*            (some variables which are not cached)
  $ZDOTDIR/.shinit/readcache    (read cached variables)
    .env-$OSTYPEVERSION-$USER	(if exists, OSTYPEVERSION set from uname)
    .env-$OSTYPEVERSION		(otherwise, if exists)
    $ZDOTDIR/.shinit/cache	(if .env-$OSTYPEVERSION not found)
      $ZDOTDIR/.shinit/*	(cacheable variables)
      $ZDOTDIR/.shlocal/cache-$DOMAIN 	(if exists)
      $ZDOTDIR/.shlocal/cache-$USER 	(if exists)
  $ZDOTDIR/.shlocal/env-$DOMAIN 	(if exists)
  $ZDOTDIR/.shlocal/env-$USER 	(if exists)
/etc/zprofile			(login shells only)
$ZDOTDIR/.zprofile		(ditto, not provided)
/etc/zshrc			(interactive shells only)
$ZDOTDIR/.zshrc			(ditto)
  $ZDOTDIR/.shinit/tty		(terminal setup)
  $ZDOTDIR/.shinit/alias	(aliases)
  $ZDOTDIR/.shinit/prompt	(prompt)
  $ZDOTDIR/.shinit/zopt		(zsh options)
  $ZDOTDIR/.shinit/zcompctl	(zcompctl statements)
  $ZDOTDIR/.shlocal/rc-$DOMAIN 	(if exists)
  $ZDOTDIR/.shlocal/rc-$USER 	(if exists)
/etc/zlogin			(login shells only)
$ZDOTDIR/.zlogin		(ditto)
  $ZDOTDIR/.shinit/mailcheck	(list mails)

/etc/zlogout			(login shells only; at logout)
$ZDOTDIR/.zlogout		(ditto)

.shfunc/*			(shell functions; autoloaded)
.shinit/*			(startup initializations)
.shlocal/*			(local startup modifications)
.shinit/COPYING			(Copy permissions)
.shinit/README			(This file.)

.ftphosts			(List of ftp servers for completion.)
.hosts				(List of hosts for remote logins.)

The shell variables are usually set in .zshenv. Since setting variables based
on system takes some much time, the variables are useally cached to file
.env-$OSTYPEVERSION with function .shfunc/makecache. The function is not run
automatically to avoid even more complexity with file locking etc. and must
be run manually, whenever shell variables are changed in init files.

It is suggested that modifications are made to files in .zinit unless major
changes are desired. That way, new version of this package can easily be

.zprofile is not used at all, since there are plenty of files without it.

The startup files can be used with bash/ksh by symlinking .zshenv to
.profile and .zshrc to .bashrc.

The directory .shinit contains 'generic' building blocks for shell
startup files. The files are sourced from approriate rc files.

Note! There are some dependencies! Do not try to source these in
completely arbitant order.

Pekka Marjola