• Linux环境变量文件


    1.各文件的执行场景
    (1) /etc/profile
    全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

    (2) /ect/bashrc
    全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
    Ubuntu没有此文件,与之对应的是/ect/bash.bashrc
    bash执行时,不管是何种方式,都会读取此文件。

    (3) ~/.profile
    若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
    另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。

    (4) ~/.bash_login
    若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。

    (5) ~/.bash_profile
    Ubuntu没有此文件,可自行新建。
    只有bash是以login形式执行时,才会读取此文件。通常该配置文件还会配置成去读取~/.bashrc。

    (6) ~/.bashrc
    当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。

    (7) ~/.bash_logout
    注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。


    2.不同场景的示例
    (1) 图形模式登录时,顺序读取:/etc/profile和~/.profile

    (2) 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc

    (3) 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile

    (4) 从其它用户su到该用户,则分两种情况:
    a.如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~/.bash_profile。
    b.如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc

    (5) 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout

    (6) 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。

    (7) 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile

  • 相关阅读:
    Leetcode Spiral Matrix
    Leetcode Sqrt(x)
    Leetcode Pow(x,n)
    Leetcode Rotate Image
    Leetcode Multiply Strings
    Leetcode Length of Last Word
    Topcoder SRM 626 DIV2 SumOfPower
    Topcoder SRM 626 DIV2 FixedDiceGameDiv2
    Leetcode Largest Rectangle in Histogram
    Leetcode Set Matrix Zeroes
  • 原文地址:https://www.cnblogs.com/live41/p/15456420.html
Copyright © 2020-2023  润新知