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.

  • Fill out this form to submit your issue to the UITS Support Center.
  • Please note that you must be affiliated with Indiana University to receive support.
  • All fields are required.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.

  • Fill out this form to submit your comment to the IU Knowledge Base.
  • If you are affiliated with Indiana University and need help with a computing problem, please use the I need help with a computing problem section above, or contact your campus Support Center.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.