sh
carrega apenas .profile
se for um shell de login , ou seja, se for invocado com o argumento 0 iniciando com -
. Portanto, se você não quiser que /etc/profile
e ~/.profile
sejam lidos, invoque o shell com o argumento padrão 0 (o nome do executável).
Se algo estiver executando o shell como um shell de login, você não terá controle sobre argumentos. Caso contrário, o shell não é um shell de login.
Além dos arquivos que são carregados se o shell for um shell de login, há um outro arquivo que algumas implementações de sh
carregam: o arquivo indicado na variável de ambiente ENV
. Se você estiver chamando um shell e não quiser carregar nenhum arquivo, certifique-se de que ENV
não esteja definido.