在OSX上从zsh切换到bash,然后再返回?

时间:2012-04-26 20:52:24

标签: bash terminal zsh

所以我学习在Rails中开发,并发现了zsh的强大功能。但是,对于我的其他一些任务,我希望使用普通的Bash。虽然它们是相同的,但我对在某些情况下打击bash感到很自在。如何来回切换,或打开和关闭zsh?谢谢!

11 个答案:

答案 0 :(得分:291)

您可以使用exec将当前shell替换为新shell:

切换到bash

exec bash

切换到zsh

exec zsh

这不会影响新的终端窗口或任何东西,但它很方便。

答案 1 :(得分:92)

您可以尝试chsh -s /bin/bash将bash设置为默认值, 或chsh -s /bin/zsh将zsh设置为默认值。

答案 2 :(得分:38)

我经常在zsh和bash之间切换。有一段时间,我曾经不得不每次切换我的bash_profile。然后我发现你可以(通常)做

exec bash --login

或只是

exec bash -l

答案 3 :(得分:6)

对于Bash,请尝试

chsh -s $(which bash)

对于zsh,请尝试

chsh -s $(which zsh)

答案 4 :(得分:4)

zsh有一个内置命令emulate,它可以通过设置适当的选项来模拟不同的shell,尽管csh永远不会被完全模拟。

emulate bash
perform commands
emulate -R zsh

-R标志将所有选项恢复为该shell的默认值。

请参阅:zsh manual

答案 5 :(得分:4)

在Mac OS Catalina中,默认的交互式外壳为zsh。 要将shell从bash更改为zsh:

chsh -s /bin/zsh

然后,您需要输入Mac密码。退出终端,然后重新打开。要检查是否已成功将其更改为ssh,请发出以下命令。

echo $SHELL

如果结果为/ bin / zsh,则说明您的任务已完成。

要将其更改回bash,请在终端上发出以下命令。

chsh -s /bin/bash

使用echo $SHELL再次进行验证。然后结果应该是/ bin / bash。

答案 6 :(得分:2)

您应该只需要在终端中输入bash即可切换到bash,然后键入zsh即可切换到zsh。至少对我有用。

答案 7 :(得分:2)

如果只是临时开关

您可以如上所述使用exec,但更多的是永久解决方案。

您可以使用 chsh -s / bin / bash (切换到bash)和 chsh -s / bin / bsh (切换到zsh)

答案 8 :(得分:1)

您可以只键入bash,或者如果您始终想使用bash:

在“ iTerm2”上

  • 转到首选项>配置文件>命令
  • 从下拉列表中选择“命令”
  • 键入bash

通过关闭iTerm并再次打开进行测试

答案 9 :(得分:0)

请按照以下步骤操作!

   chsh -s /bin/bash
   Restart terminal 
   check which shell is in use by echo $SHELL
   source .profile ````

You are back with Bash !!

答案 10 :(得分:-3)

您可以使用命令" bye"

轻松切换回bash