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
呢?可以使用下面的命令:
另外iterm2
的顶部标题位置,也可以显示job name
。如下图所示:

切换终端设置
值得说明的是:
- 切换之后需要新开终端窗口(
iterm2
)才能生效,当前窗口不生效。 - 并不需要
sudo
,但是会需要输入当前用户密码。
切换到zsh
:
切换到bash
:

但是切换到bash
之后,系统会提示现在推荐zsh
:
相关链接
总结
在mac
系统里面,如果搞清楚存在着zsh
和bash
的区别的话,就可以解释很多奇怪的现象了。更多mac
使用小技巧,请点击苏南大叔的博客:


