Se o .profile
realmente contiver:
SHELL='type -p bash'
exec bash -l
E não há .bash_profile
, temos um loop. Seu shell de login (digamos /bin/sh
, talvez) lê .profile
, o que causa exec
bash como um shell de login. Bash, quando executado como um shell de login, lê .bash_profile
e, se estiver faltando, .profile
. Então, ele também iria ler executar esses comandos, o que faz com que ele seja exec
bash como um shell de login. Bash, quando executado como um shell de login,….
Esta pode ser uma maneira mais sensata de fazer isso:
if [ -z "${BASH_VERSION}" ];
then
SHELL='type -p bash'
exec bash -l
fi
No entanto, em vez de hacks como esse, você deve pedir ao administrador do sistema para definir o bash como seu shell de login (supondo que você não possa fazer isso usando chsh
).