dayon的个人博客分享 http://blog.sciencenet.cn/u/dayon

博文

Linux环境变量

已有 8590 次阅读 2020-11-18 17:03 |个人分类:科研笔记|系统分类:科研笔记

Linux 的变量可分为两类:环境变量本地变量

 

环境变量:或者称为全局变量,存在于所有的shell 中,在你登陆系统的时候就已经有了相应的系统定义的环境变量了。Linux 的环境变量具有继承性,即子shell 会继承父shell 的环境变量。

本地变量:当前shell 中的变量,很显然本地变量中肯定包含环境变量。Linux 的本地变量的非环境变量不具备继承性。

 

Linux 中环境变量的文件

   

当你进入系统的时候,Linux 就会为你读入系统的环境变量,Linux 中有很多记载环境变量的文件,它们被系统读入是按照一定的顺序的。


1.    /etc/profile 

 

此文件为系统的环境变量,它为每个用户设置环境信息,当用户第一次登录时,该文件被执行,执行时并从 /etc/profile.d 目录的配置文件中搜集 shell 的设置。这个文件,是任何用户登陆操作系统以后都会读取的文件(如果用户的 shell 是csh 、tcsh 、zsh ,则不会读取此文件),用于获取系统的环境变量,只在登陆的时候读取一次。 (假设用户使用的是BASH )

 

2.    /etc/bashrc 

 

在执行完/etc/profile 内容之后,如果用户的SHELL 运行的是bash ,那么接着就会执行此文件。另外,当每次一个新的bash shell 被打开时, 该文件被读取。每个使用bash 的用户在登陆以后执行完/etc/profile 中内容以后都会执行此文件,在新开一个bash 的时候也会执行此文件。因此,如果你想让每个使用bash 的用户每新开一个bash 和每次登陆都执行某些操作,或者给他们定义一些新的环境变量,就可以在这个里面设置。

 

3.    ~/.bash_profile 


每个用户都可使用该文件输入专用于自己使用的shell 信息。当用户登录时,该文件仅仅执行一次,默认情况下,它设置一些环境变量,并执行用户的 .bashrc 文件。单个用户此文件的修改只会影响到他以后的每一次登陆系统。因此,可以在这里设置单个用户的特殊的环境变量或者特殊的操作,那么它在每次登陆的时候都会去获取这些新的环境变量或者做某些特殊的操作,但是仅仅在登陆时。

 

4.    ~/.bashrc 

 

该文件包含专用于单个人的bash shell 的bash 信息,当登录时以及每次打开一个新的shell 时, 该该文件被读取。单个用户此文件的修改会影响到他以后的每一次登陆系统和每一次新开一个bash 。因此,可以在这里设置单个用户的特殊的环境变量或者特殊的操作,那么每次它新登陆系统或者新开一个bash ,都会去获取相应的特殊的环境变量和特殊操作。

 

5.   ~/.bash_logout 

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

 

用户登录后加载profile和bashrc的流程如下: 

1) /etc/profile --->/etc/profile.d/*.sh 

2) $HOME/.bash_profile --->$HOME/.bashrc --->/etc/bashrc 

bash首先执行/etc/profile脚本, /etc/profile脚本先依次执行/etc/profile.d/*.sh 

随后 bash 会执行用家目录下的 .bash_profile脚本, .bash_profile脚本会执行家目录下的 .bashrc脚本, 

而.bashrc脚本会执行 /etc/bashrc 脚本 

至此, 所有的环境变量和初始化设定都已经加载完成.

bash 随后调用 terminfo 和 inputrc,完成终端属性和键盘映射的设定.


上述内容来自 https://www.cnblogs.com/python2687806834/p/9848139.html 对博主表示感谢。


image.png

image.png

image.png

image.png

image.png




https://m.sciencenet.cn/blog-3425629-1258887.html

上一篇:Sublime 中配置 NCL 的语法规则
下一篇:MATLAB之 mat2cell 函数

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 17:41

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部