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

> Procedural Languages > Bash Shell and (Unix|Linux) Utilities (XCU)

1 - 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.


3 - Management

3.1 - Login Script By Shell

It's not the same depending of your shell type:

  • for a Bash shell, the bash profile:
  • for a Bourne or Korn shell:
  • for a C shell (csh):

To determine your type of shell, refer to this article : Linux - Shell

To get a complete view of all shell configuration files → Configuration files for shells

3.2 - Script scope

You can found them in two directory:

  • in the home user (~) for a user scope
  • in the /etc/ directory for a system scope. The /etc/ files contains system wide environment stuff and startup programs. All customizations that you put in this file will apply for the entire environment variable on your system.
User Script to modify
One user ~/.bash_profile
All users except root /etc/profile
root /root/.bash_profile

3.3 - 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
  • By adding paths to your .bash_profile, you can place utilities and programs in your path and be able to execute them without having to type ./ in front of the command.
  • the source command and the point '.' are similar:
source ./.bash_profile

is the same as

. ./.bash_profile

3.4 - How to edit it ?

To edit the bash_profile :

  • change to your home directory (ie: /home/myname)
  • edit the file. Example with gedit.
gedit .bash_profile

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

lang/bash/login_logout_script.txt · Last modified: 2019/04/11 11:03 by gerardnico