• MacOS设置环境变量path


    参考链接: https://blog.csdn.net/waneto2008/article/details/52486433

     一、MacOS加载bash shell 环境变量的加载顺序

       mac 一般使用bash作为默认shell,Mac系统的环境变量,加载顺序为:

    1、系统级别的

    /etc/profile                                                   

    /etc/bashrc 

    /etc/paths 

    2、用户级别的

    ~/.bash_profile  (mac用的)

    ~/.bash_login   

    ~/.profile   

    ~/.bashrc (这个linux用的)

    二、各加载方式的分析和修改方法

    1、/etc/profile

    (1)文件构成

    执行vi /etc/profile之后呈现:

    # System-wide .profile for sh(1)
     
    if [ -x /usr/libexec/path_helper ]; then
            eval `/usr/libexec/path_helper -s`
    fi
     
    if [ "${BASH-no}" != "no" ]; then
            [ -r /etc/bashrc ] && . /etc/bashrc
    fi
    

    (2)级别:系统级别,应该是不管哪个shell都调用这个profile,所以不建议用这个文件用于全局环境变量
    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置
    (3)修改方法:


    如果没特殊说明,设置PATH的语法都为:

    #中间用冒号隔开
         export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
    
     

    2、/etc/bashrc - 建议修改,方法复杂(系统级别2、和下面的3只修改一个就可以了)


    bashrc - bash run config,bash运行时候的设置

    (1)文件构成

    执行vi /etc/paths之后呈现:

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

     

    (2)级别:实质上这就是个系统全局的路径,不建议做直接改动,具体改动的方法两个。

    (亲测有用)

    1.创建一个文件:
    sudo touch /etc/paths.d/mongod
    2.用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑):
    sudo vim /etc/paths.d/mongod
    3.编辑该文件,键入路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用mongod命令了) 
    /usr/local/mongod/bin

    或者

    sudo -s 'echo "/usr/local/sbin/mypath" > /etc/paths.d/mypath'

    4、~/.bash_profile 用户级别,建议修改这个文件。系统、用户级别只要选一个修改就够了

          ~/.bash_login

          ~/.profile

    (1)文件构成:和/etc/profile一样,export PATH=$PATH:/xxx/bin:/bin

    (2)级别:用户级别,这三个MacOS按照顺序查找,找到了一个,就不往下查找了。用户登录后执行一次
    (3)修改方法:同/etc/profile

    5、~/.bashrc 用户级别

    (1)文件构成:和/etc/profile一样,export PATH=$PATH:/xxx/bin:/bin

    (2)级别:用户级别。每次打开新的shell窗口,都会去读取一次。
    (注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

    (3)修改方法:同/etc/profile

  • 相关阅读:
    Pyhton 单行、多行注释方法
    laravel中不使用 remember_token时退出报错,如何解决?
    PHP实现打印出库单,有没有实现过?
    是不等号的意思
    PHP如何输出合并单元格的表
    一起谈.NET技术,.Net创建Excel文件(插入数据、修改格式、生成图表)的方法 狼人:
    一起谈.NET技术,ASP.NET MVC 通过 FileResult 向浏览器发送文件 狼人:
    一起谈.NET技术,asp.net Ajax AutoComplete控件使用 狼人:
    一起谈.NET技术,Silverlight 拖动复制控件 狼人:
    一起谈.NET技术,ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline[上篇] 狼人:
  • 原文地址:https://www.cnblogs.com/jiumengmeng/p/9837624.html
Copyright © 2020-2023  润新知