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
使用小技巧,请点击苏南大叔的博客:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。