Table of Contents

Shell - (Startup|Login) script (.bash_profile, .profile, .login)

About

The shell login scripts are the script that launch automatically after a login shell and permit to store permanently the values of environment variables.

bashrc is executed by bash for non-login shell.

Management

Login Script By Shell

You can found them in two directory:

The login script mechanisms depends of the shell type.

Scope Shell Script or directory to modify
User Bash ~/.bash_profile
User Bourne or Korn shell ~/.profile
User C shell (csh) ~/.login
Global (All users except root) Bash /etc/profile.d
root Bash /root/.bash_profile

/etc/profile.d

Bash - The /etc/profile is the main entry point and call all custom script in the directory (/etc/profile.d). Add your global configuration in this directory. Example:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")

How changes can take effect immediately?

You can then make the changes to .bash_profile take effect immediately by typing the following command:

source .bash_profile

source ./.bash_profile

is the same as

. ./.bash_profile

How to edit it ?

To edit the bash_profile :

gedit .bash_profile
PATH=$PATH:$HOME/bin:/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin:/root/bin:

Note the fullstop before 'bash'. This '.' makes it a hidden file