J'ai vu l'extrait de code suivant dans ce fil: Comment passer de csh à bash comme shell par défaut
sleep 2
if (-x /usr/local/bin/bash) then
exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
Ma compréhension est que si vous placez cet extrait, ~/.loginil sera invoqué bashlors de votre connexion.
J'ai une situation similaire où j'aimerais utiliser un extrait similaire pour appeler une version zshdifférente de celle par défaut avec laquelle je me connecte. Une partie de la raison pour laquelle je rencontre ce problème est parce que je ne peux pas choisir ma version souhaitée zshdans les options autorisées dans chsh, et je n'ai pas de privilèges d'administrateur.
Avec ça:
- Comment pourrais-je changer l'extrait ci-dessus pour le faire lors du basculement entre les différentes versions de zsh?
- Pourquoi deux
execcommandes sont-elles nécessaires dans l'extrait ci-dessus? Que font-ils? Aussi, pourquoi l'extrait ci-dessus utilise-t-ilshetbash(l'utilisateur est censé se connecter aveccsh)
.zprofile:if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fiet cela semble fonctionner!