当前位置: 首页 > news >正文

ubuntu /etc/profile和/etc/environment的比较

先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文。

将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。

 

用户环境建立的过程中总是先执行/etc/profile然后在读取/etc/environment。为什么会有如上所叙的不同呢?

应该是先执行/etc/environment,后执行/etc/profile。
        /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。
       系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登录时,你看到的提示信息,象日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,如果系统环境LANG=zh_CN,则提示信息是中文的,否则是英文的。

对于用户的SHELL初始化而言是先执行/etc/profile,再读取文件/etc/environment.对整个系统而言是先执行/etc/environment。这样理解正确吗?

/etc/enviroment --> /etc/profile --> $HOME/.profile   -->$HOME/.env (如果存在)

       /etc/profile 是所有用户的环境变量, /etc/enviroment是系统的环境变量。 登陆系统时shell读取的顺序应该是 :

/etc/profile ->/etc/enviroment -->$HOME/.profile   -->$HOME/.env
       原因应该是jtw所说的用户环境和系统环境的区别了


       如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值那应该是以用户环境为准了。


(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

 

 

http://hi.baidu.com/luckycrazycell/blog/item/dda39a33ee3274f01b4cff27.html

 

修改environment 之后,执行 source /etc/environment  立即生效!

 

转载于:https://www.cnblogs.com/Ph-one/p/5879526.html

相关文章:

  • 【图像处理】ISP 图像传感器camera原理
  • 什么是RAW数据?
  • linux设备驱动编写_tasklet机制
  • hrtimer和work工作队列的使用
  • nautilus-open-terminal很有用的插件--鼠标右键打开终端
  • userdebug版本开机串口log打开
  • no branch 问题
  • 网页撤销后ubuntu本地撤销
  • 电子类网站
  • ubuntu查看内存占用和查看cpu使用情况的简单方法(ubuntu内存管理)
  • 文件映射mmap
  • Linux的bg和fg命令简单介绍
  • ubuntu下查看cpu信息
  • ubuntu安装和查看已安装
  • ISO C90 forbids mixed declarations and code 警告
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 08.Android之View事件问题
  • 11111111
  • java第三方包学习之lombok
  • JS实现简单的MVC模式开发小游戏
  • log4j2输出到kafka
  • Mac转Windows的拯救指南
  • quasar-framework cnodejs社区
  • SpiderData 2019年2月23日 DApp数据排行榜
  • XForms - 更强大的Form
  • 笨办法学C 练习34:动态数组
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 全栈开发——Linux
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 深度学习入门:10门免费线上课程推荐
  • 在weex里面使用chart图表
  • 追踪解析 FutureTask 源码
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​Java并发新构件之Exchanger
  • #{}和${}的区别?
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #includecmath
  • #QT(TCP网络编程-服务端)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C++17) std算法之执行策略 execution
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (四)模仿学习-完成后台管理页面查询
  • (转)http-server应用
  • .NET Core 项目指定SDK版本
  • .NET Framework 4.6.2改进了WPF和安全性
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .Net 代码性能 - (1)
  • .NET 事件模型教程(二)
  • @Builder用法
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会