什么叫环境
对于计算机来说,每当你给他一个命令,他会在环境变量指定的路径里寻找这个命令对应的文件夹,执行该文件夹里的文件以完成命令。当你安装好一个新的工具,你不添加环境,在运行命令的时候,指定路径,也是可以执行的,但是当你有很多工具或者懒得每次都要输入路径时,配置环境变量就能帮你简化很多工作。
查看环境变量
在shell中输入echo $PATH就可以查看当前已有的环境变量,比如我的:
1 | /Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/lulian/downloads/apache-maven-3.6.1/bin:/Applications/Wireshark.app/Contents/MacOS:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin:/Users/lulian/downloads/apache-maven-3.6.1/bin:/Users/lulian/Library/Android/sdk/tools:/Users/lulian/Library/Android/sdk/platform-tools |
每个变量之间都是冒号分隔的,比如我在非java目录下执行java命令,他会在环境变量里找到java的安装位置,然后找到对应的文件运行,就可以执行我的命令。
环境变量区分系统级别和用户级别,现在Mac的系统基本上用的都是bash,环境变量写在固定的文件中,/开头的都是系统级别的,~/都是用户级别的,以下按照优先级排序:
1 | /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc |
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
添加环境变量
一般我们都在用户级别的文件~/.bash_profile中添加环境变量,path的格式是这样的:
1 | # 每个PATH之间都是使用冒号隔开的 |
举个例子,你在文件里添加某个环境变量:
1 | # 暴露一个名为TEST_PATH的变量,变量的值是某个路径 |
比如配置安卓环境:
1 | # 暴露ANDROID_HOME变量指向你下载的安卓sdk文件夹路径 |
添加完毕以后需要source一下这个文件使它生效,然后你就可以打印查看ANDROID_HOME:
1 | luliandeMBP-2:~ lulian$ echo $ANDROID_HOME |