mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-11-04 07:21:06 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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(RCS, use of)
 | 
						||
pindex(GLOBAL_RCS, use of)
 | 
						||
pindex(NO_RCS, use of)
 | 
						||
pindex(NO_GLOBAL_RCS, use of)
 | 
						||
vindex(ZDOTDIR, use of)
 | 
						||
cindex(zshenv)
 | 
						||
Commands are first read from tt(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 global startup files (those shown here with an
 | 
						||
path starting with a tt(/)).  If one of the options
 | 
						||
is unset at any point, any subsequent startup file+LPAR()s+RPAR()
 | 
						||
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).
 | 
						||
pindex(LOGIN, use of)
 | 
						||
cindex(zprofile)
 | 
						||
If the shell is a login shell, commands
 | 
						||
are read from tt(zprofile()) and then tt($ZDOTDIR/.zprofile).
 | 
						||
cindex(zshrc)
 | 
						||
Then, if the shell is interactive,
 | 
						||
commands are read from tt(zshrc()) and then tt($ZDOTDIR/.zshrc).
 | 
						||
cindex(zlogin)
 | 
						||
Finally, if the shell is a login shell, tt(zlogin()) and
 | 
						||
tt($ZDOTDIR/.zlogin) are read.
 | 
						||
 | 
						||
cindex(zlogout)
 | 
						||
When a login shell exits, the files tt($ZDOTDIR/.zlogout) and then
 | 
						||
tt(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.
 | 
						||
 | 
						||
vindex(HOME, use of)
 | 
						||
If tt(ZDOTDIR) is unset, tt(HOME) is used instead.
 | 
						||
Files listed above as being in tt(/etc) may be in another
 | 
						||
directory, depending on the installation.
 | 
						||
 | 
						||
As tt(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.
 | 
						||
ifnzman(includefile(Zsh/filelist.yo))
 | 
						||
 | 
						||
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.
 |