Linux的环境变量配置在/etc/profile或/etc/profile.d/*.sh文件中的区别是什么?
@
Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,~/.bashrc等,下面说明上述几个文件之间的关系和区别。
bash的运行模式可分为login shell和non-login shell。
login shell
- 例如,我们通过终端,输入用户名、密码,登录系统之后,得到就是一个login shell。
non-login shell
- 而当我们执行以下命令ssh hadoop103 command,在hadoop103执行command的就是一个non-login shell。
它们的区别
- 这两种shell的主要区别在于,它们启动时会加载不同的配置文件。
- login shell启动时会加载
/etc/profile。 - non-login shell启动时会加载
~/.bashrc。 - 但是无论在加载
~/.bashrc(实际上是加载了~/.bashrc中的/etc/bashrc)或/etc/profile时,都会执行如下代码片段:

- 所以,无论在login shell或non-login shell环境中,都会加载
/etc/profile.d/*.sh文件,这样我们为什么不自定义一个my_env.sh文件用来存放java或者其他的环境变量,一劳永逸!
Linux的环境变量配置在/etc/profile或/etc/profile.d/*.sh文件中的区别是什么?的更多相关文章
- Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置
区别: 1.两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效,同样是永久变量,是全局变量. 2./etc/prof ...
- Linux下环境变量设置技巧
Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置 区别: 1.两个文件都是设置环境变量文件的,/etc/profile是 ...
- Linux shell 环境变量及有效范围
每当我们使用ssh客户端远程登陆一个服务时,操作系统就会给我们分配一个新的shell,并且这个shell继承了操作系统的永久环境变量.在当前的shell执行一个sh文件,都会临时产生一个子shell, ...
- Linux的环境变量.bash_profile .bashrc profile文件
Shell变量有局部变量.环境变量之分.局部变量就是指在某个Shell中生效的变量,只在此次登录中有效.环境变量通常又称“全局变量”,虽然在Shell中变量默认就是全局的,但是为了让子Shall继承当 ...
- 【Linux】 环境变量与shell配置&执行
■ 变量与环境变量 shell环境通常存在很多变量,变量可以通过echo $VAR或${VAR}的方式查看.set命令可以查看当前环境中的所有变量(包括一般的自定义变量和环境变量) 变量的设置通过简单 ...
- Linux修改环境变量的方法
在Linux操作系统中,有时候跟着教程安装了一些软件,安装成功后,很高兴的准备运行该软件相应命令,但是偶尔会遇到”Command not found…“的提示.原因是因为你安装的软件需要设置环境变量才 ...
- Linux设置环境变量小结:设置永久变量&临时变量 全局变量&局部变量
1.总结背景 在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容.如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁 ...
- Linux用户环境变量
Linux用户环境变量 环境变量就是系统或软件设置的一些参数,用户环境变量就是用户登录系统后,都有自已专用的运行环境.在Windows系统中用户环境变量保存在用户家目录,Linux也是同样的.本文主要 ...
- Linux 管理环境变量的文件分为系统级和用户级别
Linux 管理环境变量的文件分为系统级和用户级别 管理环境变量的文件也分为系统级和用户级别: 1.系统级:/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于 ...
随机推荐
- Node Sass could not find a binding for your current environment : Node.js 8.x -SpiritMark
Node环境从8升级到10后,运行程序抛出Node Sass could not find a binding for your current environment的错误. Node环境从8升级到 ...
- vue原理之-神奇的Object.defineProperty
vue2.0通过defineProperty进行数据双向绑定 例如:(他接受三个参数,都是必填!) var a= {} Object.defineProperty(a,"b",{ ...
- JDK 8 新特性,从入门到精通
default关键字 在jdk1.8以前接口里面是只能有抽象方法,不能有任何方法的实现的. 在jdk1.8里面打破了这个规定,引入了新的关键字:default,使用default修饰方法,可以在接口里 ...
- 6 个例子教你重构 Python 代码
1. 合并嵌套的 if 条件 太多的嵌套会使代码难以理解,这在 Python 中尤为如此,因为 Python 没有括号来帮助区隔不同的嵌套级别. 阅读深度嵌套的代码容易让人烦躁,因为你必须理清哪些条件 ...
- 在飞儿云主机里使用酷Q时遇到相关问题的解决办法
情况1:酷Q Air版本可以使用,而Pro版本无法运行 解决方法如下: p.p1 { margin: 0; font: 13px "Helvetica Neue"; color: ...
- H3C路由器配置——动态路由OSPF协议
一.介绍 1.OSPF协议介绍 (1).OSPF(Open Shortest Path First,开放最短路径优先)路由协议是用于网际协议(IP)网络的链路状态路由协议.是一个被各厂商设备广泛支持的 ...
- [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks
[论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...
- C#脚本引擎CS-Script
最近想要在程序中嵌入一个C#脚本引擎,在.NET Framework时代用过一个叫做CS-Script的东西,感觉还是不错,发现现在也支持.NET Core了,试着嵌入一下. 比较 要说能够运行C#脚 ...
- 进制及其字符串之间互转——C#
本文介绍进制数转进制数,及每个进制对应的字符串 一.首先进制数转进制数(int-->int) 1.二进制数与十进制数互转: (1)二进制数转十进制数:还没找到 (2)十进制数转二进制数:目前还没 ...
- 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结
本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...