一.首先需要了解

1>mac 一般使用bash作为默认shell
2>Mac系统的环境变量,加载顺序为:
  1、系统级别的
    /etc/profile
    /etc/bashrc
    /etc/paths
  2、用户级别的
    ~/.bash_profile (mac用的)
    ~/.bash_login
    ~/.profile
    ~/.bashrc (这个linux用的)
加载规则:
  <1>/etc/profile,/etc/bashrc和/etc/paths是系统级别的,系统启动就会加载
  <2>~/.bash_profile ,~/.bash_login ,~/.profile 是当前用户级的环境变量。按照从前往后的顺序读取
    如果~/.bash_profile文件存在,则后面的两个文件就会被忽略不读了,
    如果~/.bash_profile文件不存在,才会依次读取后面的两个文件
  <3>~/.bashrc没有上述规则,它是bash shell打开的时候载入的。
 
3>sudo vim ~/.bash_profile,如果没特殊说明,设置PATH的语法都为:
  #中间用冒号隔开
  export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
  一般环境变量更改后,重启后生效。如果想立刻生效,则可执行下面的语句:$ source 相应的文件

实例分析

mac自带git和php,我自己用brew安装了git和php70
但是在没有配置环境变量的情况下 git版本是mac的, php版本是brew的
 
具体分析如下
首先明确,根据由先到后的原则,先找到就不继续了
 
1>cat /etc/paths里面的情况
 
 
2>我进入到 /usr/local/bin 文件夹下分别输入命令ls php* 和ls git*,然后查看版本
 
3>我们进入/usr/bin文件夹下分别输入命令ls php* 和ls git*,然后查看版本
 
 
4>我们继续来查找下brew安装的git命令在哪里 which git
 
总结:先在/usr/local/bin中寻找,再在/usr/bin中寻找,由此可知,为什么我的php是用brew安装的 而git是原生的
 
如果我们想要正确的选择版本,那么就在~/.bash_profile中加入以下的话,版本就对了(注意$PATH放在后面,会将你写的路径放在最终路径的最前面)
export PATH=/usr/local/Cellar/git/2.10.2/bin:$PATH
export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
 
输入$PATH
 
 
 

mac攻略(七) -- 环境变量PATH分析的更多相关文章

  1. mac攻略(4) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)

    [http://www.cnblogs.com/redirect/p/6131751.html] 网上有很多文章都是错误的,因为是copy别人的,作者没有自己亲测,不仅不能给新手提供帮助,还会产生严重 ...

  2. 转载:(Mac)在bash和zsh配置环境变量path的几种方法

    参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...

  3. MAC OX 配置JDK环境变量

    大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...

  4. Mac下添加java环境变量

    2015年4月22号更新: 发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_p ...

  5. Mac下配置Maven环境变量

    Mac下配置Maven环境变量 1.先到Apache官网下载maven压缩包.下载地址:http://maven.apache.org/download.cgi 2.Maven是用Java开发的,所以 ...

  6. 配置JDK时环境变量path和JAVA_HOME的作用

    1.PATH环境变量.作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.需要把jdk安装目录下的bin目录增 ...

  7. Linux系统下修改环境变量PATH路径的三种方法

    这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操 ...

  8. Linux 环境变量 $PATH

    我们知道查阅文件属性的指令 ls 完整文件名为:/bin/ls(这是绝对路径),那为什么可以在任何地方执行/bin/ls 这个指令呢?  为什么在任何目录下输入 ls 就一定可以显示出一些讯息而不会说 ...

  9. win7 64位系统装oracle11 提示环境变量path 值超过1023字符

    win7 64位系统装oracle10 提示环境变量path 值超过1023字符 1.提示环境变量path 值超过1023字符. 方案: 1.oracle安装文件,右键属性--设置兼容性--兼容XP ...

随机推荐

  1. 出售一套Unity + Lua热更新框架代码

    出售一套Unity + Lua的客户端框架代码,功能有资源管理.网络通信.配置文件解析.热更新.文件读写.Lua加密揭秘.UI框架.打包工具.编辑器工具等,已经在多个实际项目(已上线)中使用.代码优雅 ...

  2. 【Android测试】【第十九节】Espresso——API详解

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5997557.html 前言 Espresso的提供了不少A ...

  3. java 基础三 下雪

    通过repaint()方法进行重画. import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Graphics; p ...

  4. 用Pyinstaller打包发布exe应用

    有时候编写的Python程序依赖很多,如果要在不同服务器上安装python环境等东西有点得不偿失了.这时候可以使用pyinstaller和py2exe,能够将python程序打包成可执行的exe文件, ...

  5. GPS部标监控平台的功能设计(一)-功能列表

    在2011年交通部的796标准推出后,随着各地交管部门的硬性要求,大多数的GPS监控系统或者车辆管理系统或者物流管理系统,无论是旧的,还是新开发的,都必须要以796标准为基础蓝本,首先要满足796的要 ...

  6. struts-OGNL

    特点 常用来访问值栈里对象属性的一种语言 通常由struts标签来解析执行 <%@ taglib prefix="s" uri="/struts-tags" ...

  7. j2ee部分

    j2ee部分 1.BS与CS的联系与区别. C/S是Client/Server的缩写.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.InFORMix或 ...

  8. 移动端 触摸事件 ontouchstart、ontouchmove、ontouchend、ontouchcancel

    1.Touch事件简介 pc上的web页面鼠 标会产生onmousedown.onmouseup.onmouseout.onmouseover.onmousemove的事件,但是在移动终端如 ipho ...

  9. php 截取代码方法(140个字后的。)

    //截取摘要public static function mbsubstr($str){    $strleng = mb_strlen($str,"utf8");    $mbs ...

  10. swift基础:第六部分:类与对象

    http://reactnative.cn/docs/0.24/getting-started.html#content(react Native 开发文档) 互联网这个时代,你松懈一天,就会有很多很 ...