3.9 KiB
Table of Contents generated with DocToc
5 Files
5.1 Startup/Shutdown Files
Commands are first read from /etc/zshenv
; this cannot be overridden.
Subsequent behaviour is modified by the RCS
and GLOBAL_RCS
options;
the former affects all startup files, while the second only affects
global startup files (those shown here with an path starting with a
/
). If one of the options is unset at any point, any subsequent
startup file(s) of the corresponding type will not be read. It is also
possible for a file in $ZDOTDIR
to re-enable GLOBAL_RCS
. Both RCS
and GLOBAL_RCS
are set by default.
Commands are then read from $ZDOTDIR/.zshenv
.
If the shell is a login shell,
commands are read from /etc/zprofile
and then $ZDOTDIR/.zprofile
.
Then, if the shell is interactive,
commands are read from /etc/zshrc
and then $ZDOTDIR/.zshrc
.
Finally, if the shell is a login shell,
/etc/zlogin
and $ZDOTDIR/.zlogin
are read.
When a login shell exits, the files $ZDOTDIR/.zlogout
and then
/etc/zlogout
are read. This happens with either an explicit exit via
the exit
or logout
commands, or an implicit exit by reading
end-of-file from the terminal. However, if the shell terminates due to
exec
’ing another process, the logout files are not read. These are
also affected by the RCS
and GLOBAL_RCS
options. Note also that the
RCS
option affects the saving of history files, i.e. if RCS
is unset
when the shell exits, no history file will be saved.
If ZDOTDIR
is unset, HOME
is used instead. Files listed above as
being in /etc
may be in another directory, depending on the
installation.
As /etc/zshenv
is run for all instances of zsh, it is important that
it be kept as small as possible. In particular, it is a good idea to put
code that does not need to be run for every single shell behind a test
of the form ‘if [[ -o rcs ]]; then ...
’ so that it will not be
executed when zsh is invoked with the ‘-f
’ option.
5.2 Files
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
${TMPPREFIX}*
(default is /tmp/zsh*)
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
/etc/zlogout
(installation-specific - /etc
is the default)
Any of these files may be pre-compiled with the zcompile
builtin
command (Shell Builtin
Commands). If a
compiled file exists (named for the original file plus the .zwc
extension) and it is newer than the original file, the compiled file
will be used instead.
This document was generated on February 15, 2020 using
texi2html 5.0.
Zsh version 5.8, released on February 14, 2020.