1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-10-02 17:01:19 +02:00
zsh/Doc/Zsh/files.yo

60 lines
2.5 KiB
Plaintext
Raw Normal View History

1999-04-15 20:05:35 +02:00
texinode(Files)(Shell Grammar)(Invocation)(Top)
chapter(Files)
sect(Startup/Shutdown Files)
cindex(files, startup)
cindex(startup files)
cindex(files, shutdown)
cindex(shutdown files)
pindex(NO_RCS, use of)
2000-04-01 22:43:43 +02:00
pindex(NO_GLOBAL_RCS, use of)
Commands are first read from tt(/etc/zshenv); this cannot be overridden.
Subsequent behaviour is modified by the tt(RCS) and
tt(GLOBAL_RCS) options; the former affects all startup files, while the
second only affects those in the tt(/etc) directory. 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 tt($ZDOTDIR) to
re-enable tt(GLOBAL_RCS). Both tt(RCS) and tt(GLOBAL_RCS) are set by
default.
Commands are then read from tt($ZDOTDIR/.zshenv).
1999-04-15 20:05:35 +02:00
pindex(LOGIN, use of)
If the shell is a login shell, commands
are read from tt(/etc/zprofile) and then tt($ZDOTDIR/.zprofile).
Then, if the shell is interactive,
commands are read from tt(/etc/zshrc) and then tt($ZDOTDIR/.zshrc).
Finally, if the shell is a login shell, tt(/etc/zlogin) and
tt($ZDOTDIR/.zlogin) are read.
2000-04-01 22:43:43 +02:00
When a login shell exits, the files tt($ZDOTDIR/.zlogout) and then
tt(/etc/zlogout) are read. This happens with either an explicit exit
via the tt(exit) or tt(logout) commands, or an implicit exit by reading
end-of-file from the terminal. However, if the shell terminates due
to tt(exec)'ing another process, the logout files are not read.
These are also affected by the tt(RCS) and tt(GLOBAL_RCS) options.
Note also that the tt(RCS) option affects the saving of history files,
i.e. if tt(RCS) is unset when the shell exits, no history file will be
saved.
1999-04-15 20:05:35 +02:00
If tt(ZDOTDIR) is unset, tt(HOME) is used instead.
Those files listed above as being in tt(/etc) may be in another
directory, depending on the installation.
2000-04-01 22:43:43 +02:00
As tt(/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 `tt(if [[ -o rcs ]]; then ...)' so that it will not
be executed when zsh is invoked with the `tt(-f)' option.
1999-04-15 20:05:35 +02:00
ifnzman(includefile(Zsh/filelist.yo))
2000-04-01 22:43:43 +02:00
Any of these files may be pre-compiled with the tt(zcompile) builtin
command (\
ifzman(\
see zmanref(zshbuiltins)\
)\
ifnzman(\
noderef(Shell Builtin Commands)\
)\
). If a compiled file exists (named for the original file plus the
tt(.zwc) extension) and it is newer than the original file, the compiled
file will be used instead.