我正在学习使用Rails进行开发,并发现了zsh的强大功能。但是,对于其他一些任务,我希望使用普通bash。

尽管它们是相同的,但在某些情况下,我只是对bash的布局感到满意。

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


你可以使用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有一个内置的命令模拟,可以通过设置适当的选项来模拟不同的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和CHSH -s /bin/zsh切换到bash和zsh


在Mac OS Catalina默认的交互shell是zsh。 从bash更改shell为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 

你和巴斯又回来了!!


对我来说,解决办法是:

编辑:

sudo vi /etc/passwd

找到你的用户,对我来说就是:

ubuntu:x:1000:1001::/home/ubuntu:/bin/sh

对你来说可能是:

ubuntu:x:1000:1001::/home/ubuntu:/bin/zsh

并更改为:

ubuntu:x:1000:1001::/home/ubuntu:/bin/bash

如果您希望bash是默认的,或者如果您希望它默认为zsh,则使用上面的行。