Ho visto il seguente frammento in questo thread: Come passare da csh a bash come shell predefinita
sleep 2
if (-x /usr/local/bin/bash) then
exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
La mia comprensione è che se si inserisce questo frammento ~/.loginverrà richiamato bashquando si accede.
Ho una situazione simile in cui vorrei utilizzare uno snippet simile per invocare una versione zshdiversa da quella predefinita con cui accedo. Parte del motivo per cui sto attraversando questo problema è perché non riesco a scegliere la mia versione desiderata di zshnelle opzioni consentite in chshe non ho i privilegi di amministratore.
Con questo:
- Come cambierei lo snippet qui sopra per fare questo quando cambio tra le diverse versioni di zsh?
- Perché sono
execnecessari due comandi nel frammento sopra? Cosa fanno? Inoltre, perché utilizza lo snippet sopra (shebashl'utente dovrebbe accedere concsh)
.zprofile:if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fie sembra funzionare!