`
lantian_123
  • 浏览: 1368155 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

理解Linux环境变量及配置文件执行顺序

 
阅读更多

 

每个用户都有自己专属的运行环境,这个环境是由一组变量所定义,这些变量称之为环境变量。用户可以修改环境变量以满足自己的要求。

设置环境变量:$export NAME="HELLOWORLD"  (临时变量,重启系统将失效)

显示环境变量:$echo $NAME

env 命令查看当前用户的环境变量

 

如果要想把环境保存于系统,以便下次开机还能生效就必须配置到以下文件中:~/.bashrc;~/ .bash_profile,;~/.profile; /etc/profile;etc/bash.bashrc,那么他们之间有什么样的区别呢?

 

首先理解一下概念:

login shell:用户通过终端登录凭借用户名和密码登录控制台的动作是login shell,也就是说最终会调用login命令的操作都可称之为login shell。

non-login shell:用户在图形界面启动一个terminal,或者执行/bin/bash,/usr/bin/bash都属于non-login shell。

 

对于login shell读取文件的顺序是:

 

 

  1.   /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

/etc/profile 是必须要执行的,然后后面3个,按照顺序谁存在就执行谁,然后后面的就不会再执行。其逻辑可用代码表示为:

 

execute /etc/profile
IF ~/.bash_profile exists THEN
    execute ~/.bash_profile
ELSE
    IF ~/.bash_login exist THEN
        execute ~/.bash_login
    ELSE
        IF ~/.profile exist THEN
            execute ~/.profile
        END IF
    END IF
END IF

 

 退出交互控制台,执行的文件是:

 

IF ~/.bash_logout exists THEN
    execute ~/.bash_logout
END IF

 

 对于~/.bashrc,是在non login shell 启动时执行,也就意味着在图形界面每开启一次terminal,就会读取一次该文件

 

IF ~/.bashrc exists THEN
    execute ~/.bashrc
END IF

 

 

在很多Redhad发行版中和Ubuntu发行版中,如果.bashrc存在于home目录,它将从.bash_profile或.profile中运行,。可能是有以下代码

# Run .bashrc if it exists

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

 

了解他们的执行顺序后,就知道环境变量该怎么放了。笔者将Java的环境变量都配置于~/.profile中。

 

另:/etc/environment是整个系统的环境,而/etc/profile是所有用户的环境,前者启动系统后就会去读取该文件,后者只有在用户登录的时候才去读取

 

分享到:
评论

相关推荐

    Linux中环境变量配置文件详解.docx

    理解这些环境变量配置文件的工作原理对于管理和定制Linux环境至关重要,无论是为了优化个人工作流程还是配置系统级的设置。正确地设置环境变量可以提高效率,确保软件的正确运行,并使系统管理更加有序。

    shell基础 之 数值运算与运算符 环境变量配置文件 shell登录信息

    这是因为shell在加载环境变量时,会按照这个顺序搜索环境变量配置文件。 五、远程登录欢迎信息 在远程登录时,shell登录信息可以通过编辑 `/etc/ssh/sshd_config` 文件来修改。例如: `echo "Welcome to my ...

    Linux系统Shell的环境变量配置文件介绍

    在Linux系统中,Shell环境变量配置文件扮演着至关重要的角色,它们定义了用户和系统的运行环境,包括路径、语言设置、别名等。理解并掌握这些配置文件的使用,能够帮助我们更好地定制和管理我们的工作环境。以下是...

    Linux打开shell时读取配置文件的顺序

    了解这些配置文件及其加载顺序对于优化和调试Linux环境非常有用,它可以帮助你更好地管理用户的个性化设置,以及确保软件安装和配置的正确性。例如,如果你需要为所有用户设置一个全局环境变量,你应该在`/etc/...

    Linux各种环境变量配置1

    总结来说,配置Linux环境变量涉及到理解不同配置文件的作用和执行时机,以及如何正确地修改和应用这些变量。正确设置环境变量能极大地提高用户的工作效率,确保系统和应用程序的正常运行。在进行修改时,请确保了解...

    Linux环境变量设置总结[参考].pdf

    ~/.bash_profile、~/.bash_login 和 ~/.profile 文件是局部环境变量配置文件,对特定用户或shell有效。这些文件在登录 Linux 时按照特定的顺序执行,执行顺序为:/etc/profile、~/.bash_profile、~/.bash_login、~/....

    JDK 环境变量 自动配置

    在描述中提到的"环境变量自动配置"通常是由JDK的安装程序完成的,它会根据操作系统的类型(如Windows, macOS, 或Linux)来执行相应的配置步骤。在Windows上,这可能通过创建或修改注册表项来实现;在Unix-like系统中...

    理解 Linux 配置文件

    ### 理解 Linux 配置文件:关键知识点解析 #### 一、引言 Linux 系统以其高度可定制性和灵活性而闻名于世。在 Linux 中,几乎所有方面都可以通过编辑配置文件来进行调整和定制。从用户权限设置到系统级服务的启动与...

    Linux中环境变量所导致的问题分析及解决.pdf

    在Linux操作系统中,环境变量扮演着至关重要的角色,它们定义了用户进程的运行环境,包括查找可执行文件的路径、shell的配置等。本文主要针对一个特定问题进行分析:在Linux,尤其是Redhat Enterprise Linux 5中,...

    linux一些标准的环境变量.docx

    本文将详细介绍几个常见的Linux环境变量,包括`SHELL`、`LANG`、`PATH`、`MANPATH`、`INPUTRC`、`BASH_ENV`、`DISPLAY`、`COLORTERM`、`USER`、`LOGNAME`、`MAIL`、`HOSTNAME`和`HISTSIZE`等,并通过一个示例文件...

    mysql配置文件读取顺序

    MySQL数据库系统在启动时会根据特定的顺序读取配置文件,以便设置其运行参数和配置。这个过程对于理解和管理MySQL服务器至关重要,因为它允许管理员通过修改配置文件来优化性能、安全性和其他关键设置。以下是关于...

    Linux 中环境变量设置.docx

    首先,`/etc/profile`是系统级别的环境变量配置文件,它会在每个用户首次登录时执行,为所有用户提供全局环境设置。同时,它会读取`/etc/profile.d`目录下的一系列配置文件,以进一步定制shell的环境。 `/etc/...

    浅谈Linux环境变量文件介绍

    加载环境变量配置文件的常规顺序是: 1. `/etc/profile` 2. `~/.bash_profile` 或 `~/.bash_login` 或 `~/.profile` 3. `~/.bashrc` 4. `/etc/bashrc` 5. `~/.bash_logout` 理解并正确配置这些环境变量文件对于管理...

    linux环境变量

    ### Linux环境变量详解 #### 一、环境变量概念与作用 环境变量是在Linux系统中用于定义用户特定运行环境的一系列变量。由于Linux是多用户操作系统,每个用户在登录后都有自己的独立运行环境,这些环境正是由环境...

    linux添加目录到环境变量

    在Linux系统中,环境变量是操作系统用来存储配置信息的一种机制,它们对于系统功能的正常运行至关重要。当提及“linux添加目录到环境变量”,这通常指的是将特定的目录路径添加到系统的PATH环境变量中,以便在任何...

    JAVA环境变量配置步骤

    Java环境变量配置是Java开发和运行的基础,它涉及到PATH、JAVA_HOME、CLASSPATH等关键变量的设置。下面将详细介绍这些步骤以及相关知识点。 1. **JAVA_HOME**: 这是Java安装目录的路径,包含了JDK(Java ...

    完美介绍linux环境变量与部分命令

    了解Linux环境变量的配置文件至关重要,因为它们定义了不同级别的环境变量设置。以下是一些主要的配置文件及其用途: 1. `/etc/profile`:这是系统级的环境变量设置文件,对所有用户生效,当用户首次登录时执行。 2...

    Linux Crontab 获取环境变量配置解析

    总结来说,理解Linux环境变量的加载机制对于正确配置Crontab任务至关重要。通过正确地源码加载配置文件或在任务中直接设置环境变量,可以确保Crontab能够获取并使用必要的环境配置。在实际操作中,应根据具体需求...

    PATH环境变量

    ### PATH环境变量详解 在深入探讨PATH环境变量之前,我们先明确一点,PATH环境变量是计算机操作系统中一种非常关键的配置参数,尤其...无论是日常使用还是专业开发,理解并掌握PATH环境变量的管理都是必不可少的技能。

    环境变量配置

    环境变量配置是操作系统中用于指定程序运行时所需信息的一种机制,它对于软件开发、系统管理以及日常电脑使用都至关重要。了解并正确配置环境变量能够帮助我们更好地管理和使用各种应用程序,尤其是那些依赖特定路径...

Global site tag (gtag.js) - Google Analytics