ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ubantu环境变量

2020-09-11 18:31:33  阅读:230  来源: 互联网

标签:bin ubantu jade etc usr home 环境变量


1. 查看环境变量

  1. 我们都知道,系统去找命令时是按环境变量从前到后检测的,那么这些变量都是哪来的,从哪儿能看到呢?

  2. 查看当前环境变量,终端输入:

    # 查看当前环境变量
    [jade@localhost ~]$$PATH
    # 输出为
    bash:/home/jade/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jade/software/nodejs/bin::/opt/s21/python367/bin:/home/jade/software/nodejs/bin::/home/jade/bin:/home/jade/.local/bin:: 没有那个文件或目录
    

2. 和环境变量有关的文件:

系统级别(修改后对本机上的所有用户生效)

  1. /etc/profile —— 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置;
  2. /etc/environment —— 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量;
  3. /etc/bashrc —— 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取;

用户级别(修改后只对当前用户生效)

  1. /home/jade/.profile —— 用户jade的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,它设置一些环境变量,执行用户的.bashrc文件;(注:jade为当然登录的用户,每个用户都有自己的家目录,即在/home文件夹下。)
  2. /home/jade/.bashrc —— 用户jade的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取;

3. 对当前环境变量进行分析:

  1. 分别查看这几个文件的内容

    # 查看文件
    cat /etc/profile
    # 输出(这里只列出和环境变量有关的命令)
    export PATH="$PATH:/opt/s21/python367/bin:/home/jade/software/nodejs/bin:"
    
    # 查看文件
    cat /etc/environment
    # 输出(这里只列出和环境变量有关的命令)
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jade/software/nodejs/bin:"
    
    # 查看文件
    cat /etc/bashrc
    # 输出(这条和环境变量无关,只是一条快捷命令,可忽略)
    alias pycharm='sh /home/jade/pycharm-2019.1.2/bin/pycharm.sh'
    
    # 查看文件
    cat /home/jade/.profile
    # 输出(这里只列出和环境变量有关的命令)
    PATH="$PATH:$HOME/bin:$HOME/.local/bin:"
    
    # 查看文件
    cat /home/jade/.bashrc
    # 输出(这里只列出和环境变量有关的命令)
    export PATH="/home/jade/anaconda3/bin:$PATH"
    
  2. 由以上,可以分析出环境变量的组成:

    /home/jade/anaconda3/bin:  ----->来自于 /home/jade/.bashrc
    
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jade/software/nodejs/bin:  ----->来自于 /etc/environment
    
    :/opt/s21/python367/bin:/home/jade/software/nodejs/bin: ----->来自于 /etc/profile:
    
    :/home/jade/bin:/home/jade/.local/bin:: 没有那个文件或目录 ----->来自于 /home/jade/.profile
    
  3. 那么,加载先后顺序或者叠加规则已经出来了:

    先加载/etc/environment-----> /etc/profile -----> /home/jade/.profile -----> /home/jade/.bashrc
    至于/etc/bashrc是在哪个位置,由于对我没有影响(因为里面没有涉及到环境变量),这里不做定论.不过根据用户级的文件读取顺序,可以猜测是在/etc/profile之后,读者们可以自行实验
    

标签:bin,ubantu,jade,etc,usr,home,环境变量
来源: https://www.cnblogs.com/can-xue/p/13653290.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有