先了解下 Shell

Shell是 Linu/ Unix 的一个外壳,你理解成衣服也行。它负责外界与 Linux 内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序。

Linux/Unix 提供了很多种 Shell,为毛要这么多 Shell ?难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了,而且程序员往往负责把复杂的事情搞简单,简单的事情搞复杂。牛程序员看到不爽的Shell,就会自己重新写一套,慢慢形成了一些标准,常用的Shell有这么几种,sh、bash、csh等,想知道你的系统有几种shell,可以通过命令查看

  1. cat /etc/shells

终端查询结果显示如下:

  1. /bin/bash
  2. /bin/csh
  3. /bin/dash
  4. /bin/ksh
  5. /bin/sh
  6. /bin/tcsh
  7. /bin/zsh

好了我们知道 Shell 是个什么玩意儿了,现在就输入命令查询本机默认的 Shell:

  1. echo $SHELL
  1. /bin/zsh

所以得到一个结论,macOS 默认预装的 Shell(终端)是:zsh

如何配置 macOS 环境变量

首先我们要知道,我们安装一个软件后,之所以能够使用一些与该软件相关的命令,是因为该命令被添加到了系统的环境变量里面。比如安装完 MySQL 之后,就可以使用命令开启或关闭 MySQL 服务。有时候我们需要自己设置环境变量,MacOS 设置环境变量有很多种方法,最常用的是编辑当前 Shell 对应的用户级环境变量配置文件,如 zsh 对应的 .zshrc文件。

  1. /Users/你的个人用户名/.zshrc
  1. export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:...:<PATH N>
  2. # 范例:
  3. export PATH=$PATH:/Library/Repositories/Maven/apache-maven-3.8.5/bin
  1. source ~/.zshrc

常见问题

  1. 如果系统默认 Shell 使用的是zsh而不是其他,那么zsh是不加载.bash_profile文件的, 而是加.zshrc
  2. 如果刷新/读取配置文件后还未成功,可能需要重启终端程序或者重启电脑。