In Unix, what startup and termination files do the various shells use?

Although not a comprehensive list, the following should provide you with a basic understanding of what startup and shutdown files the various Unix shells use.

Note:
This information comes from the Unix FAQ, which is posted regularly to the Usenet newsgroups comp.unix.questions and comp.unix.shell. You can obtain it by FTP from rtfm.mit.edu in the /pub/usenet directory, and on the web at Unix FAQ/faq Index.

csh

Some versions have systemwide .cshrc and .login files. Each version puts them in different places.

Startup (in this order): Upon termination: Others:
.cshrc (always) .logout (login shells)
.history (saves history based on "$savehist")
.login (login shells)

tcsh

Startup (in this order): Upon termination: Others:
/etc/csh.cshrc (always) .logout (login shells)
.history (saves history based on "$savehist")
/etc/csh.login (login shells)
.cshdirs (saves directory stack)
.tcshrc (always)
.cshrc (if no .tcshrc file is present)
.login (login shells)

sh

Startup (in this order): Upon termination:
/etc/profile (login shells)
Any command or script specified using the command:
 trap "command" 0
.profile (login shells)

ksh

Startup (in this order): Upon termination:
/etc/profile (login shells)
Any command or script specified using the command:
 trap "command" 0
.profile (login shells)
$ENV (always, if it is set)

bash

Startup (in this order): Upon termination: Others:
/etc/profile (login shells) .bash_logout (login shells)
.inputrc (readline initialization)
.bash_profile (login shells)
.profile (login if no .bash_profile file is present)
.bashrc (interactive non-login shells)
$ENV (non-interactive shells)

zsh

Startup (in this order): Upon termination:
.zshenv (always, unless the -f option is specified)
.zlogout (login shells)
.zprofile (login shells)
.zshrc (interactive shells, unless the -f option is specified)
.zlogin (login shells)

rc

Startup (in this order):

.rcrc (login shells)

At Indiana University, for personal or departmental Linux or Unix systems support, see At IU, how do I get support for Linux or Unix?

This is document abdy in the Knowledge Base.
Last modified on 2017-05-16 11:51:51.

Contact us

For help or to comment, email the UITS Support Center.