Eu vi o seguinte trecho neste tópico: Como mudar de csh para bash como shell padrão
sleep 2
if (-x /usr/local/bin/bash) then
exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
Meu entendimento é que, se você colocar esse trecho, ~/.login
ele será chamado bash
quando você fizer login.
Tenho uma situação semelhante em que gostaria de usar um trecho semelhante para invocar uma versão zsh
diferente da padrão com a qual efetuo login. Parte do motivo pelo qual estou passando por esse problema é porque não posso escolher minha versão desejada de zsh
nas opções permitidas chsh
e não tenho privilégios de administrador.
Com isso:
- Como eu alteraria o trecho acima para fazer isso ao alternar entre diferentes versões do zsh?
- Por que dois
exec
comandos são necessários no snippet acima? O que eles fazem? Além disso, por que o snippet acima é usadosh
ebash
(o usuário deve fazer logincsh
)
.zprofile
:if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fi
e isso parece funcionar!