Contrast .bash_profile and .profile which are only run at the start of a new login shell.
The purpose of setting environmental variables is create system wide variables (at least within your user shell) available to programs. This is a more elegant way of being able to determine where resources are on a system.
Environment variables can be created
export PYTHONPATH=$(cd ~/repos/pyflamestk;pwd):$(cd ~/repos/pypospack;pwd)
export PATH=$(cd ~/bin;pwd):$PATH
export LAMMPS_SERIAL_BIN=$(cd ~/;pwd)/bin/lmp_serial
export LAMMPS_MPI_BIN=$(cd ~/;pwd)/bin/lmp_mpi
export GULP_BIN=/home/eugene/bin/gulp
export VASP_MPI_BIN=/home/eugene/bin/vasp
export VASP_GGA_DIR=/home/eugene/opt/vasp/GGA
export VASP_LDA_DIR=/home/eugene/opt/vasp/LDA
Example for OSC
# load python
module load python/3.6-conda5.2
# load git
module load git/2.18.0
# supress GTK-ASKPASS ERRORS
unset SSH_ASKPASS
#bath
export PATH=/users/PAA0028/eragasa/.local/bin:$PATH
export PATH=$HOME/bin:$PATH
export HOSTNAME
# .bash_profile
export LAMMPS_SERIAL_BIN=$HOME/bin/lmp_serial
if [[ $(hostname -s) = owens* ]]; then
export LAMMPS_MPI_BIN=$HOME/bin/owens/lmp_mpi
export VASP_STD_BIN=$HOME/bin/owens/vasp_std
elif [[ $(hostname -s) = pitzer* ]]; then
export LAMMPS_MPI_BIN=$HOME/bin/pitzer/lmp_mpi
export VASP_STD_BIN=$HOME/bin/pitzer/vasp_std
elif [[ $(home -s) = ruby* ]]; then
export LAMMPS_MPI_BIN=$HOME/bin/ruby/lmp_mpi
export VASP_STD_BIN=$HOME/bin/ruby/vasp_std
fi
# potpaw files
export VASP_POTPAW_LDA=$HOME/usr/local/vasp/potpaw/potpaw_LDA.54
export VASP_POTPAW_GGA=$HOME/usr/local/vasp/potpaw/potpaw_PBE.54
# python path
export PYTHONPATH=$HOME/repos/mexm-base/src:$PYTHONPATH
export PYTHONPATH=$HOME/repos/pymatmc2/src:$PYTHONPATH
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi