## For non-interactive shells, source `.bash_profile` instead
# This happens e.g. with `ssh`.
case $- in
  *i*) ;;
  *)
    # Source Bash login shell startup script.
    if [ -r "$HOME/.bash_profile" ]
    then
      . "$HOME/.bash_profile"
    fi
    return 0
    ;;
esac

## Source POSIX interactive shell startup script
if [ -r "$HOME/.shrc" ]
then
  . "$HOME/.shrc"
fi

## Source Bash interactive shell startup scripts
for path in "$HOME/.bashrc.d/"*".bash"
do
  if [ -r "$path" ]
  then
    . "$path"
  fi
done
unset path