Vi el siguiente fragmento en este hilo: Cómo cambiar de csh a bash como shell predeterminado
sleep 2
if (-x /usr/local/bin/bash) then
exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
Tengo entendido que si coloca este fragmento ~/.login
, se invocará bash
cuando inicie sesión.
Tengo una situación similar en la que me gustaría usar un fragmento similar para invocar una versión zsh
diferente de la predeterminada con la que inicio sesión. Parte de la razón por la que estoy pasando por este problema es porque no puedo elegir mi versión deseada de zsh
en las opciones permitidas en chsh
, y no tengo privilegios de administrador.
Con este:
- ¿Cómo cambiaría el fragmento anterior para hacer esto al cambiar entre diferentes versiones de zsh?
- ¿Por qué se
exec
necesitan dos comandos en el fragmento de arriba? ¿Qué hacen? Además, ¿por qué usa el fragmento anteriorsh
ybash
(se supone que el usuario debe iniciar sesióncsh
)
.zprofile
: ¡if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fi
y eso parece funcionar!