web-dev-qa-db-fra.com

Passer de zsh à bash sur OSX, et inversement?

Donc, je suis en train d'apprendre à développer dans Rails et j'ai découvert le pouvoir de zsh. Cependant, pour certaines de mes autres tâches, je souhaite utiliser Bash normal. Bien qu'ils soient identiques, je me sens juste à l'aise avec la mise en scène dans certaines situations. Comment puis-je changer d'allumeur ou activer/désactiver zsh? Merci!

140
vpoola88

Vous pouvez simplement utiliser exec pour remplacer votre Shell actuel par un nouveau:

Passez à bash:

exec bash

Passez à zsh:

exec zsh

Cela n'affectera pas les nouvelles fenêtres du terminal ou quoi que ce soit, mais c'est pratique.

307
larsks

vous pouvez essayer chsh -s /bin/bash pour définir le bash comme valeur par défaut ou chsh -s /bin/zsh pour définir le zsh comme valeur par défaut.

95
wanghao

Je bascule assez souvent entre zsh et bash. Pendant un certain temps, je devais utiliser chaque bash_profile pour chaque commutateur. Ensuite, j'ai découvert que vous pouvez (généralement) faire

exec bash --login

ou juste

exec bash -l
40
phil-ociraptor

Pour Bash, essayez

chsh -s $(which bash)

Pour zsh, essayez

chsh -s $(which zsh)
8
as - if

zsh a une commande intégrée emulate qui peut émuler différents shells en définissant les options appropriées, bien que csh ne soit jamais totalement émulé.

emulate bash
perform commands
emulate -R zsh

L'indicateur -R restaure toutes les options à leurs valeurs par défaut pour ce Shell.

Voir: manuel zsh

5
ljcusack

si c'est juste un interrupteur temporaire

vous pouvez utiliser exec comme mentionné ci-dessus, mais pour une solution permanente.

vous pouvez utiliser chsh -s/bin/bash (pour basculer en bash) et chsh -s/bin/zsh (pour basculer en zsh)

4
Rahil

Vous devriez pouvoir simplement taper bash dans le terminal pour passer à bash, puis taper zsh pour passer à zsh. Ça marche pour moi au moins.

1
Paul Jurczyk