Bash startup files issues

Accordingly to man bash in the “INVOCATION” chapter I read

  When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first  reads
  and executes commands from the file /etc/profile, if that file exists.  After reading that file, it looks for ~/.bash_pro‐
   file,  ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is
   readable.  The --noprofile option may be used when the shell is started to inhibit this behavior.

That is: /etc/bashrc is not read by bash unless sourced from /etc/profile or $HOME/.bashrc.

Also, remember that /etc/profile must be compatible with dash and ksh and perhaps also with zsh. Therefore, /etc/bashrc should only be run by bash and not any of the other bourne-like shells.

1 Like