我正在学习使用Rails进行开发,并发现了zsh的强大功能。但是,对于其他一些任务,我希望使用普通bash。
尽管它们是相同的,但在某些情况下,我只是对bash的布局感到满意。
我如何来回切换,或打开和关闭zsh ?
我正在学习使用Rails进行开发,并发现了zsh的强大功能。但是,对于其他一些任务,我希望使用普通bash。
尽管它们是相同的,但在某些情况下,我只是对bash的布局感到满意。
我如何来回切换,或打开和关闭zsh ?
你可以使用exec来替换当前的shell:
切换到bash:
exec bash
切换到zsh:
exec zsh
这不会影响新的终端窗口或任何东西,但它很方便。
我经常在zsh和bash之间切换。有一段时间,我不得不为每个交换机提供bash_profile的源代码。然后我发现你(通常)可以做到
exec bash --login
或者只是
exec bash -l
ZSH有一个内置的命令模拟,可以通过设置适当的选项来模拟不同的shell,尽管CSH永远不会被完全模拟。
emulate bash
perform commands
emulate -R zsh
-R标志将该shell的所有选项恢复为默认值。
参见: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,则使用上面的行。