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

我正在学习在Rails中开发,并发现了zsh的力量。然而,对于我的其他一些任务,我希望使用正常的bash

虽然它们是相同的,但我只是在某些情况下对bash的布局感到舒服。

我如何来回切换,或打开和关闭zsh ?

314409 次浏览

你可以用exec来替换当前的shell:

切换到bash:

exec bash

切换到zsh:

exec zsh

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

你可以尝试chsh -s /bin/bash来设置bash为默认值, 或chsh -s /bin/zsh来设置zsh为默认值

终端需要重新启动才能生效。

我经常在zsh和bash之间切换。有一段时间,我不得不为每个交换机提供bash_profile的源代码。然后我发现你(通常)可以做到

exec bash --login

或者只是

exec bash -l

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

emulate bash
perform commands
emulate -R zsh

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

看:zsh手册

对于Bash,请尝试

chsh -s $(which bash)

对于zsh,请尝试

chsh -s $(which zsh)

您可以使用命令"bye"轻松切换回bash。

你应该可以在终端中输入bash来切换到bash,然后输入zsh来切换到zsh。至少对我有用。

如果这只是暂时的转换

您可以像上面提到的那样使用exec,但这是一种永久的解决方案。

你可以使用CHSH -s /bin/bash(切换到bash)和CHSH -s /bin/zsh(切换到zsh)

在Mac OS Catalina默认的交互shell是zsh。 将shell从bash更改为zsh:

chsh -s /bin/zsh

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

echo $SHELL

如果结果是/bin/zsh,则任务完成。

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

chsh -s /bin/bash

使用echo $SHELL再次验证它。那么结果应该是/bin/bash.

你可以只输入bash,或者如果你总是想使用bash:

“iTerm2”

  • >配置文件>命令
  • 在下拉菜单中选择“Command”
  • 类型bash

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

遵循以下步骤!

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

你和巴斯又回来了!!