Se você deseja executar zsh em vez de bash, basta substituir /usr/local/bin/bash
pelo caminho do executável zsh
. Observe que esse trecho é específico para csh; se seu shell de login não for (t) csh, esse código em ~/.login
não fará nada para você.
Quanto ao motivo pelo qual o trecho foi escrito dessa maneira, você teria que perguntar à pessoa que o escreveu. [verifica quem era.] Oh. Bem, se você acabou de fazer exec /usr/local/bin/bash
, então você não estará iniciando um shell de login, então seu .profile
não será executado. Mas isso poderia ser resolvido de forma mais simples, executando /usr/local/bin/bash --login
.
Agora, se o seu shell de login não for csh, você precisará de um snippet diferente em torno de exec
. Em shells ao estilo Bourne, incluindo zsh:
if [ -x ~/bin/zsh ]; then exec ~/bin/zsh; fi
Faça o exec ~/bin/zsh -l
se você quiser que a nova instância do zsh leia seu ~/.zprofile
. Se você fizer isso, o snippet acima deve estar em .profile
ou .bash_profile
; se seu shell de login for zsh, não coloque o trecho no seu .zprofile
, ou então certifique-se de que a nova instância do zsh não chamará exec
novamente.