2012-04-26 10 views
92

Así que estoy aprendiendo a desarrollarme en Rails, y he descubierto el poder de zsh. Sin embargo, para algunas de mis otras tareas, deseo usar Bash normal. Aunque son lo mismo, me siento cómodo con el lay out de bash en algunas situaciones. ¿Cómo puedo activar y desactivar o activar y desactivar zsh? ¡Gracias!¿Cambia de zsh a bash en OSX y viceversa?

Respuesta

195

Usted sólo puede usar exec para reemplazar su shell actual con un nuevo shell:

Cambiar a bash:

exec bash 

Cambiar a zsh:

exec zsh 

Esto no afectará nuevas ventanas de terminal o cualquier cosa, pero es conveniente.

+1

Gracias ! ¡Tan sencillo! – vpoola88

+1

¡De nada! Si está satisfecho con esta respuesta, tómese un momento para marcarla como aceptada marcando la marca de verificación a la izquierda de la respuesta. ¡Gracias! – larsks

+0

O, simplemente invoque zsh, y cuando termine 'exit' para volver a bash. La ejecución parece innecesaria e indeseable. –

64

puede probar chsh -s /bin/bash para establecer el bash como predeterminado, o chsh -s /bin/zsh para configurar zsh como valor predeterminado.

26

Cambio entre zsh y bash con bastante frecuencia. Por un tiempo, solía tener que obtener mi bash_profile en cada cambio. Luego descubrí que puede (por lo general) hacer

exec bash --login 

o simplemente

exec bash -l 
+0

Gracias phill, instalé Thinkbot/laptop y estropeó todas mis configuraciones. Tu sugerencia ayuda a recuperar mi entorno bash. –

+0

funcionó para mí, gracias – skkrish

+0

Sería útil que escribiera lo que es "--login" para? – Ewoks

2

zsh tiene una orden interna emulate que puede emular diferentes conchas mediante el establecimiento de las opciones apropiadas, aunque CSH nunca serán completamente emulados .

emulate bash 
perform commands 
emulate -R zsh 

El distintivo -R restaura todas las opciones a sus valores predeterminados para ese shell.

Ver: zsh manual

0

Para Bash, intenta

chsh -s $(which bash) 

Para zsh, intenta

chsh -s $(which zsh) 
0

Puede cambiar fácilmente de nuevo a fiesta con el comando "bye"