vpo*_*a88 163 bash terminal zsh
所以我学习在Rails中开发,并发现了zsh的强大功能.但是,对于我的其他一些任务,我希望使用普通的Bash.虽然它们是相同的,但我对在某些情况下打击bash感到很自在.如何来回切换,或打开和关闭zsh?谢谢!
lar*_*sks 330
您可以使用exec新shell替换当前shell:
切换到bash:
exec bash
Run Code Online (Sandbox Code Playgroud)
切换到zsh:
exec zsh
Run Code Online (Sandbox Code Playgroud)
这不会影响新的终端窗口或任何东西,但它很方便.
wan*_*hao 110
您可以尝试chsh -s /bin/bash将bash设置为默认值,或chsh -s /bin/zsh将zsh设置为默认值.
小智 45
我经常在zsh和bash之间切换.有一段时间,我曾经不得不每次切换我的bash_profile.然后我发现你可以(通常)做
exec bash --login
Run Code Online (Sandbox Code Playgroud)
要不就
exec bash -l
Run Code Online (Sandbox Code Playgroud)
as *_* if 10
对于Bash,请尝试
chsh -s $(which bash)
Run Code Online (Sandbox Code Playgroud)
对于zsh,请尝试
chsh -s $(which zsh)
Run Code Online (Sandbox Code Playgroud)
小智 9
如果只是一个临时开关
您可以如上所述使用exec,但更多的是永久解决方案。
您可以使用chsh -s / bin / bash(切换到bash)和chsh -s / bin / zsh(切换到zsh)
在 Mac OS Catalina 中,默认交互式 shell 是 zsh。要将 shell 从 bash 更改为 zsh:
chsh -s /bin/zsh
Run Code Online (Sandbox Code Playgroud)
然后您需要输入您的 Mac 密码。退出终端并重新打开它。要检查是否已成功更改为 ssh,请发出以下命令。
echo $SHELL
Run Code Online (Sandbox Code Playgroud)
如果结果是 /bin/zsh,则您的任务已完成。
要将其更改回 bash,请在终端上发出以下命令。
chsh -s /bin/bash
Run Code Online (Sandbox Code Playgroud)
使用 再次验证它echo $SHELL。那么结果应该是/bin/bash。
小智 6
zsh有一个内置命令emulate,可以通过设置适当的选项来仿真不同的shell,尽管永远不会完全仿真csh。
emulate bash
perform commands
emulate -R zsh
Run Code Online (Sandbox Code Playgroud)
-R标志将所有选项恢复为该Shell的默认值。
请参阅:zsh手册
bash如果您总是想使用 bash,您只需输入以下命令即可:
关于“iTerm2”
bash关闭 iTerm 并再次打开进行测试
请按照以下步骤操作:
chsh -s /bin/bash
重新启动终端
检查正在使用哪个 shell:echo $SHELL
source .profile
你和 Bash 一起回来了!