mac系统,如何切换终端使用zsh或者bash?
发布于 作者:苏南大叔 来源:程序如此灵动~
在mac系统中,在之前的终端是使用bash的。从 macOS Catalina 版开始,bash下岗了,被zsh这个更先进的终端系统所替代。这就是本文的主要写作背景。

本文测试环境:mac@big sur,bash@3.2.57,zsh@5.8。不过,需要事先说明的是:您可能没有什么必要切换到bash,zsh据说才是未来的潮流设置。
最大的变数
其实对于苏南大叔来说,这个终端是zsh还是bash,其实是没有啥区别的。其中的最大变数就是:配置文件到底是.zshrc,还是.bash_profile。因为,在很多地方,都是在这里加载环境变量的,如果zsh和bash切换了,那么就意味着一些环境变量可能就失效了。

很多的网上的教程里面,大多数都让写到.bash_profile文件里面的。这样的话,对于现在的mac系统来说,.bash_profile因为并不是默认加载的配置文件了。所以,网上的教程就大量失效了。
可能的解决方案是:在~/.zshrc文件里面,source一下~/.bash_profile。

这里有个小
tip,可以看到:实际上在路径~下,是有4个文件的。
.zprofile的作用与.bash_profile相同,并且在登录时运行(包括通过 SSH 运行)。.zshrc的作用与.bashrc相同,并针对每个新的“终端”会话运行。
查看终端设置
想查看当前的终端是zsh还是bash呢?可以使用下面的命令:
echo $0另外iterm2的顶部标题位置,也可以显示job name。如下图所示:

切换终端设置
值得说明的是:
- 切换之后需要新开终端窗口(
iterm2)才能生效,当前窗口不生效。 - 并不需要
sudo,但是会需要输入当前用户密码。
切换到zsh:
chsh -s /bin/zsh切换到bash:
chsh -s /bin/bash
但是切换到bash之后,系统会提示现在推荐zsh:
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.相关链接
总结
在mac系统里面,如果搞清楚存在着zsh和bash的区别的话,就可以解释很多奇怪的现象了。更多mac使用小技巧,请点击苏南大叔的博客: