您的位置:首页 > 运维架构 > Linux

linux下的环境变量

2016-03-02 11:21 483 查看
/etc/profile,/etc/bashrc 是系统全局环境变量设定
~/.profile,~/.bashrc用户家目录下的私有环境变量设定
当登入系统时候获得一个shell进程时,其读取环境设定档有三步
1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如
/etc/profile.d和/etc/inputrc
2然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取
~/.profile,这三个文档设定基本上是一样的,读取有优先关系
3然后在根据用户帐号读取~/.bashrc
至于~/.profile与~/.bashrc的不区别
都具有个性化定制功能
~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

详细介绍:

linux中有两个重要的文件:/etc/profile和$HOME/.bash_profile:
每当系统登陆时都要读取这两个文件,用来初始化系统所用到的变量,其中/etc/profile是超级用户所用(对所有用户起作用),$HOME/.bash_profile(隐藏文件)是每个用户自己独立的,我们可以修改该文件来设置一些变量
/etc/profile
每个用户登录时都会运行的环境变量设置,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置,例如JDK配置
export JAVA_HOME=/usr/local/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
$HOME/.bash_profile
每个用户home目录下都有这样的一个隐藏文件.bash_profile,这个用来初始化系统变量,俗称环境变量,只不过只是针对自己来用,
比如安装postgresql的时候,新建一个postgres用户,在这个用户下.bash_profile,配置如下:
# postgres
PGDATA=/usr/local/pgsql/data
PATH=/usr/local/pgsql/bin:$PATH
export PGDATA PATH
表示:可以直接执行/usr/local/pgsql/bin下的命令,不用加命令

修改这两个文件之后,还需要使其生效:
source /etc/profile 和 source .bash_profile 或者. .bash_profile
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: