mac攻略(七) -- 环境变量PATH分析

一.首先需要了解

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

时间: 2024-10-16 10:05:17

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

七、环境变量PATH、cp命令、mv命令、文档查看cat、more、less、head、tail

一.环境变量PATH # echo $PATH,查看哪些目录在环境变量里面 将路径加入到PATH中的方法: 1.直接将路径加入到PATH中,比如root目录.命令如下: #  PATH=$PATH:/root # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/bin:/root/bin/root 改回原来的变量直接输入命令: # PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root

Linux学习笔记(七)环境变量PATH、cp命令、mv命令、文档查看cat/more/less/h

一.环境变量PATH对于环境变量,百度解释为https://baike.baidu.com/item/%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F/1730949?fr=aladdinlinux下环境变量同样是为了方便执行某些命令, which ls 可以查看到ls的绝对路径为 /usr/bin/ls echo $PATH 可以看到环境变量为/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin/usr/

Mac下配置Java环境变量

方法一:全局配置 #临时提权sudo su #输入密码vi /etc/profile #配置JAVA_HOME,此处路径根据自己的版本填写 JAVA_HOME="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/" CLASS_PATH="$JAVA_HOME/lib"#把JAVA添加到到环境变量PATH中 PATH=".:PATH:JAVA_HOME/bin" #设

Mac下添加java环境变量

2015年4月22号更新: 发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_profile,它有自己的配置文件,所以还是推荐大家使用mac自带的终端或者iTerm2来配置. ————————正文开始——————- 方法一:全局配置 #临时提权 sudo su #输入密码 vi /etc/profile #配置JAVA_HOME,此处路径根据自己的版本填写 JAVA_HOME=

教你在mac上配置adb环境变量!!附上adb无法识别M2的解决办法

[经验技巧] 教你在mac上配置adb环境变量!!附上adb无法识别M2的解决办法 楼主表于 2012-11-13 15:47:26 最近小编突然换了mac做了主力机,作为一个习惯在Windows使用adb刷机和安装卸载软件的屌丝来说,突然不能使用adb简直就是痛不欲生啊.还好经过度娘的指点,我成功的配置了环境变量. 下面就跟大家简单说一下具体的一些步骤,其中我为了大家更容易理解,精简掉了一些无关紧要的步骤,该教程只限于配置使用adb命令刷机或者做一些简单操作的用户~ -------------

环境变量PATH、cp命令、mv命令、文档查看

环境变量PATH查看PATH:echo $PATH以添加mongodb server为列 修改方法一:export PATH=/usr/local/mongodb/bin:$PATH//配置完后可以通过echo $PATH查看配置结果.生效方法:立即生效有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置用户局限:仅对当前用户 修改方法二:通过修改.bashrc文件:vim ~/.bashrc //在最后一行添上:export PATH=/usr/local/

Linux下修改环境变量PATH

1.什么是环境变量(PATH) 在Linux中,在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的文件先执行. 我们知道查阅文件属性的指令ls 完整文件名为:/bin/ls(这是绝对路径), 那你会不会觉得很奇怪:"为什么我可以在任何地方执行/bin/ls这个指令呢? " 为什么我在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量 PATH 的帮助所致呀! 当我们在执行一个指令癿时候,举例

变量的声明及其作用域、脚本、修改环境变量$PATH【:VALUE】

变量的声明及其作用域 本地变量 VARNAME=VALUE:作用域为整个bash进程[打开新的shell进程,没有该变量] [root@jiakang a]# A=123 [root@jiakang a]# bash [root@jiakang a]# echo $A [root@jiakang a]# 局部变量 local VARNAME=VALUE:作用域为当前代码段 环境变量 作用域为当前shell及其子进程[打开一个shell就是一个进程] export VARNAME=VALUE或者

hash和环境变量PATH

hash命令和$PATH bash命令补全: 在linux中用户键入命令时敲TAB键的时候,它会去查找以用户所给定的起始字符串或开头字符串在PATH的环境变量所指明的各路径下,自左而右,逐一去搜索是否有一个应用程序的名称被用户给定的字符串打头的字符串唯一进行标示,如果有则把后面剩余的字符进行补全,如果无法唯一被标示,两次TAB列出所有的以此打头的的内容.而hash命令就是为了缓存此前命令的查找结果! hash 简介:记录或显示程序位置: shell通过环境变量PATH来定义应用程序文件查找路径,