2012-04-26 15 views
92

Więc uczę się rozwijać w Rails i odkryłem moc zsh. Jednak w przypadku niektórych innych zadań chcę używać normalnego Basha. Mimo że są one takie same, po prostu czuję się komfortowo z rozłożeniem basha w niektórych sytuacjach. Jak włączać i wyłączać Zsh lub włączać i wyłączać Zsh? Dzięki!Przejście z Zsh na bash na OSX iz powrotem?

Odpowiedz

195

można po prostu użyć exec zastąpić bieżącą powłokę z nowej powłoki:

Przełącz na bash:

exec bash 

Przełącz na zsh:

exec zsh 

ta nie wpłynie nowe okna terminala lub cokolwiek innego, ale jest to wygodne.

+1

Dzięki ! Tak prosty! – vpoola88

+1

Nie ma za co! Jeśli jesteś zadowolony z tej odpowiedzi, poświęć chwilę, aby oznaczyć ją jako zaakceptowaną, zaznaczając znacznik wyboru po lewej stronie odpowiedzi. Dzięki! – larsks

+0

Lub po prostu wywołaj zsh, a kiedy skończysz 'exit' powróci do bash. Wykonanie tego wydaje się niepotrzebne i niepożądane. –

64

Możesz spróbować chsh -s /bin/bash, aby ustawić bash jako domyślny, lub chsh -s /bin/zsh, aby ustawić zsh jako domyślny.

26

Często przełączam się pomiędzy Zsh i Bash. Przez pewien czas musiałem pobierać mój plik bash_profile za każdym przełącznikiem. Potem okazało się, można (zazwyczaj) zrobić

exec bash --login 

czy tylko

exec bash -l 
+0

Dzięki za phill, zainstalowałem thinkbota/laptopa i zepsułem wszystkie moje konfiguracje. Twoja wskazówka pomaga odzyskać moje środowisko bash. –

+0

pracował dla mnie dzięki – skkrish

+0

Byłby przydatny kapelusz, który napisał, co jest "--login" dla? – Ewoks

2

zsh posiada wbudowane polecenie emulate który może emulować różne muszle poprzez ustawienie odpowiednich opcji, chociaż csh nigdy nie będzie w pełni emulowane .

emulate bash 
perform commands 
emulate -R zsh 

Flaga -R przywraca wszystkie opcje do ich wartości domyślnych dla tej powłoki.

Patrz: zsh manual

0

Dla Bash, spróbuj

chsh -s $(which bash) 

Dla zsh, spróbuj

chsh -s $(which zsh) 
0

można łatwo powrócić do bash za pomocą polecenia "bye"

Powiązane problemy