请问环境变量保存在哪里?(对网上的答案有疑惑!)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
uusky
帖子: 159
注册时间: 2006-09-02 10:02

请问环境变量保存在哪里?(对网上的答案有疑惑!)

#1

帖子 uusky » 2007-09-25 12:52

中秋了,先祝大家,节日快乐,全家幸福,月圆人更圆。

好了,切入正题。
执行env的时候会出来很多的环境变量。我在网上找到答案说的最多的就是在:
/etc/environment
~/.bashrc
~/.bash_profile
三个文件中。可是这几个文件,我都打开看了,根本就没有那么多。environment文件里面有两三个。

我就是想知道,env命令出来的那么多的环境变量系统到底把它们放在哪里啊?
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#2

帖子 bones7456 » 2007-09-25 13:02

这个没有固定答案,可以在任何地方.
你先env看一下,再在终端里面执行个:

代码: 全选

export xxxx=1
,再用env看,就多出一个来了不是...
关注我的blog: ε==3
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

#3

帖子 xhy » 2007-09-25 13:13

每个发行版可能都不通

只要你愿意 它可以在系统的任何地方
目前负债150多万
头像
yiding_he
帖子: 2677
注册时间: 2006-10-25 18:10
来自: 长沙
联系:

#4

帖子 yiding_he » 2007-09-25 13:36

好吧,既然楼主在 Ubuntu 论坛提问,大家能不能给个有针对性的答案?
头像
uusky
帖子: 159
注册时间: 2006-09-02 10:02

#5

帖子 uusky » 2007-09-25 13:42

呵呵。是的。

我使用的是ubuntu 7.04的。
大家觉得,env里面的东东在哪里咧?

先谢谢上面的了。
头像
uusky
帖子: 159
注册时间: 2006-09-02 10:02

#6

帖子 uusky » 2007-09-26 10:42

莫非这是一个“秘密”?

呵呵。怎么大家都不说哦。呵呵。
请知情者告诉我一声啊,我的系统的环境变量到底保存在哪里哦?
头像
AutumnHealth
帖子: 776
注册时间: 2006-12-20 18:41

#7

帖子 AutumnHealth » 2007-09-26 10:53

环境变量当然是在环境里,也就是内存
没有固定的统一的保存的地方
任何脚本都可以export一个全局变量到环境里
系统启动的时候会运行很多脚本,里面经常会export一些全局变量到环境里
不用export的话,直接定义一个变量,那它就是在当前的环境里,算是局部变量吧

大概是这样吧
可以去看看shell基础
尽情享受生活~

Welcome to AutumnHealth's blog:
http://forum.ubuntu.org.cn/weblog.php?w=1421
http://blog.csdn.net/autumnhealth
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#8

帖子 iblicf » 2007-09-26 10:59

没有固定的地方阿,大多数应该是 /etc 底下的,整个 init 过程都有设置环境,不同的service daemon 也有做这些事情,你真想知道在哪里,你只能彻底跟踪一遍 init 过程,而且根据不同的运行级,过程也不一样,或者你可以根据 env /set 的内容挨个 grep 去,肯定能找到在哪里定义的 , linux 不会对用户隐藏实现这个是肯定的,除了一些关键的设置文件定义,你要想完整的理解它,这个是程序员的思路,一般用户大多不想知道这些细节,但是你切实可以跟踪它,
头像
uusky
帖子: 159
注册时间: 2006-09-02 10:02

#9

帖子 uusky » 2007-09-26 11:24

TO AutumnHealth:
你是说一开机的shell里面n多的环境变量都是由n多的程序export出来的。而并非用天一个文本文件,一下子全部弄进来的?
头像
uusky
帖子: 159
注册时间: 2006-09-02 10:02

#10

帖子 uusky » 2007-09-26 11:28

呵呵。知道了啊。呵呵。谢谢两位了哦。

我知道不会隐藏的。逗你们玩的。

我也知道export可以设置环境变量。只是觉得奇怪一开机就有那么多的环境变量而已。呵呵。没有什么了。我了解了。
bluepeng
帖子: 343
注册时间: 2007-04-02 14:35

#11

帖子 bluepeng » 2007-09-26 11:51

网上资料:

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

当前用户:
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.
头像
uusky
帖子: 159
注册时间: 2006-09-02 10:02

#12

帖子 uusky » 2007-09-27 10:15

TO bluepeng:

谢谢了。兄弟!!!!
回复