我正在学习使用Rails进行开发,并发现了zsh的强大功能。但是,对于其他一些任务,我希望使用普通bash。
尽管它们是相同的,但在某些情况下,我只是对bash的布局感到满意。
我如何来回切换,或打开和关闭zsh ?
我正在学习使用Rails进行开发,并发现了zsh的强大功能。但是,对于其他一些任务,我希望使用普通bash。
尽管它们是相同的,但在某些情况下,我只是对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.
其他回答
如果这只是暂时的转换
您可以像上面提到的那样使用exec,但这是一种永久的解决方案。
可以使用CHSH -s /bin/bash和CHSH -s /bin/zsh切换到bash和zsh
对我来说,解决办法是:
编辑:
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,则使用上面的行。
您应该能够在终端中输入bash以切换到bash,然后输入zsh以切换到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.
ZSH有一个内置的命令模拟,可以通过设置适当的选项来模拟不同的shell,尽管CSH永远不会被完全模拟。
emulate bash
perform commands
emulate -R zsh
-R标志将该shell的所有选项恢复为默认值。
参见:zsh手册