Isso vai depender de muitas coisas. Eu estou supondo que você realmente não quer que os arquivos sejam executados quando a máquina for reinicializada (existem MUITAS), mas aqueles executados pelo seu shell (por exemplo, bash
) quando você fizer login ou abrir um terminal.
A maneira mais fácil de encontrar o comando relevante seria percorrer todos os arquivos de inicialização possíveis do shell, tanto para o login quanto para os shells interativos. Eu tenho a seguinte função definida no meu $HOME/.bashrc
:
grep_bash(){
for f in ~/.bashrc ~/.profile ~/.bash_profile ~/.bash_login \
/etc/profile /etc/bash.bashrc /etc/environment;
do
[ -e $f ] && grep -H "$@" $f;
done
}
Eu posso usá-lo para pesquisar nesses arquivos por uma string de interesse:
$ grep_bash foo
/home/terdon/.bashrc:echo foo
Os arquivos reais sendo lidos dependem do tipo de shell que você está executando. Estas são as seções relevantes de man bash
:
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 com‐
mands 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.
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.
Na maioria dos * nix (a única exceção que eu conheço é OSX), o shell padrão quando você abre um novo terminal é um shell não-login interativo, então ~/.bashrc
e company são lidos.
Finalmente, você também tem /etc/environment
, que é usado para definir variáveis de ambiente global e que deve ser lido pela maioria dos shells.
Após a discussão com o OP em chat , @derobert nos ajudou a descobrir que o problema foi causado por /etc/ssh/sshrc
.