Não tenho certeza se entendi suas perguntas, mas:
Seus arquivos bash init devem ser originados na inicialização. Se não o seu sistema está mal configurado ou quebrado.
Você não mencionou o seu sistema operacional, mas acredito que esteja usando o Linux de qualquer maneira.
A sequência de inicialização, de acordo com man bash
, é a seguinte:
When bash is invoked as an interactive login shell, or as a non-inter‐ active 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_profile, ~/.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.
When an interactive shell that is not a login shell is started, bash reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if these files exist. This may be inhibited by using the --norc option. The --rcfile file option will force bash to read and execute commands from file instead of /etc/bash.bashrc and ~/.bashrc.
Em uma distribuição do Ubuntu, por exemplo, após carregar o /etc/profile
, ele procura por um arquivo ~/.profile
semelhante a este:
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
O que significa que, se estiver usando o bash e o arquivo ~/.bashrc
existir, ele será carregado / originado e, depois disso, definirá sua variável $ PATH.
Por isso, sugiro que você primeiro examine seu arquivo ~/.profile
e corrija-o, se necessário.