浅谈Linux环境变量文件介绍

 更新时间:2020年04月29日 10:57:56   作者:pengjunlee  
这篇文章主要介绍了浅谈Linux环境变量文件介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。

  • 系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量
  • 用户级环境变量:每一个登录到系统的用户只能够读取属于自己的用户级的环境变量 

自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。

系统级

/etc/profile

在系统启动后第一个用户登录时运行,并从/etc/profile.d目录的配置文件中搜集shell的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户。

 提示:在Linux系统中,使用以下命令可以使配置文件立刻生效。

source /etc/profile
echo $PATH

/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)

在 bash shell 打开时运行,修改该文件配置的环境变量将会影响所有用户使用的bash shell。

注意:这里的bash shell有不同的类别,不同的类别所使用的环境变量配置文件也有所不同。一般情况下,非登录shell不会执行任何profile文件,非交互shell模式不会执行任何bashrc文件。

# 登录shell和非登陆shell:
登录shell # 需要输入用户密码,例如 ssh 登录或者 su - 命令提权都会启动login shell模式
非登陆shell # 无需输入用户密码;
 
# 交互shell和非交互shell:
交互shell # 提供命令提示符等待用户输入命令的是交互shell模式
非交互shell # 直接运行脚本文件是非交互shell模式

/etc/environment

在系统启动时运行,用于配置与系统运行相关但与用户无关的环境变量,修改该文件配置的环境变量将影响全局。

用户级

~/.profile(推荐首选)

当用户登录时执行,每个用户都可以使用该文件来配置专属于自己使用的shell信息。

~/.bashrc

当用户登录时以及每次打开新的shell时该文件都将被读取,不推荐在这里配置用户专用的环境变量,因为每开一个shell,该文件都会被读取一次,效率肯定受影响。

~/.bash_profile 或 ~./bash_login

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" 
when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). 
However, these files won't influence a graphical session by default.

以上是ubuntu官网给出的关于~/.bash_profile 和 ~./bash_login 的说明,翻译为中文:

~/.bash_profile 或 ~./bash_login -
如果有其中的一个文件存在的话, 当启动的是一个 登录shell时,Bash 会执行该文件而不会执行~/.profile ;
如果两个文件都存在的话,Bash 将会优先执行~/.bash_profile 而不是~/.bash_login ;
然而, 默认情况下,这些文件不会影响图形会话

~/.bash_logout

当每次退出系统(退出bash shell)时执行该文件。

注意:Linux系统使用 $VARIABLE_NAME 访问环境变量,多个环境变量之间使用 : 分隔,Windows系统使用 %VARIABLE_NAME% 访问环境变量,多个环境变量之间使用 ; 分隔。

一般情况下,Linux加载环境变量配置文件的执行顺序为:

==> /etc/profile
==> ~/.bash_profile | ~/.bash_login | ~/.profile
==> ~/.bashrc
==> /etc/bashrc
==> ~/.bash_logout

到此这篇关于浅谈Linux环境变量文件介绍的文章就介绍到这了,更多相关Linux环境变量文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Apache虚拟目录简单知识汇总

    Apache虚拟目录简单知识汇总

    本文给大家汇总介绍了Apache的虚拟目录的简单使用方法的知识,非常的简单实用,有需要的小伙伴可以参考下
    2018-08-08
  • 在 Linux 命令行中使用 tcpdump 抓包的一些功能

    在 Linux 命令行中使用 tcpdump 抓包的一些功能

    tcpdump 是一款灵活、功能强大的抓包工具,能有效地帮助排查网络故障问题。接下来通过本文给大家介绍在 Linux 命令行中使用 tcpdump 抓包的一些常用功能,需要的朋友参考下吧
    2018-11-11
  • Linux下rsync远程数据同步命令的详细介绍

    Linux下rsync远程数据同步命令的详细介绍

    rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于unix/linux/windows等多种操作系统平台。下面这篇文章主要介绍了Linux下rsync命令的相关资料,需要的朋友可以参考借鉴。
    2017-02-02
  • crontab执行时间与系统时间不一致问题解决

    crontab执行时间与系统时间不一致问题解决

    这篇文章主要给大家介绍了关于crontab执行时间与系统时间不一致问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • linux下使用Apache+php实现留言板功能的网站

    linux下使用Apache+php实现留言板功能的网站

    在linux下使用apache+php实现留言板功能的网站,首先需要我们的linux服务器上安装apache和php,然后结合其他操作实现此功能,下文小编给大家介绍的非常详细,感兴趣的朋友一起学习吧
    2016-10-10
  • 详解Linux系统中网卡MAC地址克隆方法

    详解Linux系统中网卡MAC地址克隆方法

    本篇文章主要介绍了详解Linux系统中网卡MAC地址克隆方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 关于Linux vi命令使用详解(vim编辑器)

    关于Linux vi命令使用详解(vim编辑器)

    这篇文章主要介绍了关于Linux vi命令使用详解(vim编辑器),文中详细列举了vi命令的用法,还不熟悉的朋友可以多看一下
    2023-03-03
  • linux中echo命令的用法实例教程

    linux中echo命令的用法实例教程

    linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法,下面这篇文章主要给大家介绍了关于linux中echo命令用法的相关资料,需要的朋友可以参考学习。
    2017-05-05
  • 在Ubuntu 16.04 Server上安装Zabbix的方法

    在Ubuntu 16.04 Server上安装Zabbix的方法

    这篇文章主要介绍了在Ubuntu 16.04 Server上安装Zabbix的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Centos 6.5 下配置DNS服务器的方法(图文详解)

    Centos 6.5 下配置DNS服务器的方法(图文详解)

    这篇文章主要介绍了Centos 6.5 下配置DNS服务器的方法详解,需要的朋友可以参考下
    2017-05-05

最新评论