首页 > 技术文章 > 一个错误导致懂了mac系统的PATH环境变量

zwanna 2019-11-12 15:32 原文

一个完全不懂mac系统的强迫症小白,由于搭建环境都按照百度走,所以在执行命令echo $PATH查看PATH内容时发现怎么有这样一串东西

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 

 

于是百度各种删除PATH内容的方法,说使用open ~/.bash_profile打开,再修改内容,最后source ~/.bash_profile保存即可,也不知道是自己不会搜还是其他原因,执行后的结果简直想让强迫症者发狂

 

 为什么要删除的反而重复了???

于是再进行各种搜,有说用unset 变量名===>没效果

有说用cut删除冗余路径,export PATH=`echo $PATH | cut -d":" -f1,2,4-`   ,由于审题没仔细,以为1,2,4是要删除的,结果恰恰相反,这是要删除第3个PATH的命令。

 

 自己尝试着先删除了几个,使用echo $PATH再次查看,确实有删除,但删的不是自己想的,而且env命令居然不能用了

 

 编辑环境变量文件也不能用了!!!!!

没经验的小白要慌了,继续百度,于是也就学习了PATH

输入命令:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin;env,vim又都恢复正常,才知道原来之前自己想删的变量很重要,PATH也歪打正着恢复了初始状态

 

 于是重新整理PATH文件内容:

可以像Windows那样分类整理,设置PYTHON,JAVA_HOME等路径,再通过export PATH=${PATH}:${各环境变量名},通过“:“连接,若是拼接的需要用引号如,"${JAVA_HOME}/bin",

如果没有引号的话会变成两个:/Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home:/bin

 

 OK!修改完后,执行source ~/.bash_profile

 

推荐阅读