理解Linux环境变量及配置文件执行顺序 博客分类: Linux 每个用户都有自己专属的运行环境,这个环境是由一组变量所定义,这些变量称之为环境变量。用户可以修改环境变量以满足自己的要求。
来源:互联网 发布:淘宝营销推广 编辑:程序博客网 时间:2024/04/24 11:42
理解Linux环境变量及配置文件执行顺序
- 博客分类:
- 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读取文件的顺序是:
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.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环境变量及配置文件执行顺序 博客分类: Linux 每个用户都有自己专属的运行环境,这个环境是由一组变量所定义,这些变量称之为环境变量。用户可以修改环境变量以满足自己的要求。
- 理解Linux环境变量及配置文件执行顺序
- 理解Linux环境变量及配置文件执行顺序
- 理解Linux环境变量及配置文件执行顺序
- linux用户环境变量的理解
- 配置JAVA环境的时候,环境变量中administrator的用户变量和系统变量的区别?
- 环境变量中系统变量和用户的环境变量及在配置JAVA环境变量时两着有什么区别
- linux系统环境变量及用户环境变量的配置
- 环境变量和用户变量
- 环境变量和用户变量
- linux中如何给每个用户的tomcat配置环境变量
- 环境变量和用户变量有什么区别?
- 用户目录下linux环境变量配置文件的异同
- 环境变量中administrator的用户变量和系统变量
- java环境变量中 用户变量与系统变量的区别
- Linux环境变量配置文件修改
- LINUX环境变量的修改
- 用户变量和环境变量设置
- 安装scrapy
- source配置文件不生效 原创 2016年03月14日 18:43:55 3558 问题背景: 升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME
- 小球运动
- 微信夹娃娃h5直播抓娃娃低延时方案
- 秋招总结——非科班从零offer到BAT
- 理解Linux环境变量及配置文件执行顺序 博客分类: Linux 每个用户都有自己专属的运行环境,这个环境是由一组变量所定义,这些变量称之为环境变量。用户可以修改环境变量以满足自己的要求。
- 20171122 自省
- PHP学习笔记 09
- [App测试]Charles做弱网测试实践
- win10+eclipse+hadoop2.7.2+maven直接通过Run as Java Application运行wordcount
- How Long Can HDMI Cable Be Run?
- javascript复习总结——基础概念篇
- Linux共享库的动态加载(附测试案例)
- DevOps不能说的秘密