Linux - 设置环境变量

Shell 会话有两种类型:login shell 会话和 non-login shell 会话。login shell 会话会提示用户输入用户名和密码,如虚拟控制台会话。而在 GUI 中启动的终端会话则是一个典型的 non-login shell 会话。

用户登录系统后,bash程序就会启动并读取一系列启动文件。login shell 会读取一个或多个启动文件,如下表所示:

文件 说明
 /etc/profile  适用于所有用户的全局配置脚本
 ~/.bash_profile   用户的个人启动文件。可扩展或重写全局配置脚本
 ~/.bash_login  若 ~/.bash_profile 缺失,则 bash 尝试读取此脚本
 ~/.profile  若 ~/.bash_profile 与 ~/.bash_login 均缺失,则 bash 尝试读取此文件。在基于 Debian 的 Linux 版本中(如 Ubuntu),这是默认值 

non-login shell 读取的启动文件如下:

文件 说明
 /etc/bash.bashrc   适用于所有用户的全局配置脚本
 ~/.bashrc  用户的个人启动文件。可扩展或程序全局配置脚本 

non-login shell在读取以上启动文件之外,还会继承父进程的环境,父进程通常是一个login shell。


用户可以通过修改启动文件自定义环境变量,例如在 ~/.bashrc 中配置:

export JAVA_HOME=/usr/lib/jvm/java-7-sun
export PATH=$PATH:${JAVA_HOME}/bin

 

只有在启动 shell 会话时才会读取 ~/.bashrc,因此对 ~/.bashrc 做出的修改只有在关闭 shell 终端会话并重启才会生效。也可以用 source 命令使 bash 重新读取 ~/.bashrc 文件:

source ~/.bashrc

 

 

export 命令

命令格式

export [-fn] [name[=value] ...]

export -p

命令参数

-f
  引用 shell 函数。
-n
  删除指定的环境变量。
-p
  列出所有的环境变量。

 

posted on 2015-03-10 23:54  huey2672  阅读(333)  评论(0编辑  收藏  举报