Who am I

我的照片
Hefei, Anhui, China
Research Fields: Satellite Geodesy

2012年1月18日星期三

Linux 环境变量

1. 什么是环境变量
Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的系统环境。通常情况下,每个用户默认的系统环境都是一样的(由/etc/profile、/etc/bash.bashrc文件定制),这些默认环境就是由一些列的环境变量所确定。用户也可以对自己的用户环境进行定制(下面会有介绍)。因此,一个特定用户的环境是由系统默认环境+自己定制环境决定。

2. 常用的环境变量及其作用
PATH:决定了SHELL将到哪些目录下寻找命令或程序(下面会有详述)。
HOME:当前用户的主目录。
SHELL:当前用户使用的是那种shell。
HISTSIZE:保存历史命令记录的条数。
此外还有HOSTNAME,LANG,PS1, PS2等环境变量。

3. 环境变量的设置
环境变量的定义和设置有两种基本方法。
方法一:name=value; export name
方法二:export name=value (ksh和bash支持此种方法)
那么上述定义或添加环境变量的语句应该加在何处呢?具体有什么区别呢?
方法一:直接在终端添加上述语句。
此方法添加的环境变量只在当前的shell中起作用。只适用于临时更改环境变量,如果希望设置的环境变量能够持久有效,需要在linux环境变量配置文件中添加上述语句。关于linux环境变量的配置文件可以参考博客中的其它帖子。
方法二:在.bashrc或.profile文件中添加上述语句
添加完上述语句后,注销再重启机器,更改的环境变量即可生效,但只对当前用户有效。
方法三:在profile文件中添加上述语句
该方法更改的环境变量对所有用户有效,重启系统后起作用。

4. 环境变量命令介绍
echo $PATH: 显示环境变量值;
name=value;export $name: 定义新的环境变量name;
env: 显示所有环境变量;
set: 显示本地定义的shell变量;
unset: 清除环境变量,如unset $name;
readonly: 设置只读环境变量,如:name=value;export $name;readonly $name.

5. PATH环境变量
a) PATH变量的作用:
PATH简单说来就是一个字符串变量,当输入命令时系统会根据PATH里面记录的路径去查找这些命令。如在~目录下输入ls,输入ls命令后,系统会根据PATH中记录的路径去查找这个命令。通常这些命令都保存在.../bin目录下,所以PATH值恰恰就是/bin:/sbin:/usr/bin等。其中:使目录与目录之间隔开。
b) 新增自定义论经
假设新安装了一个命令在/usr/lib/gmt/bin目录下,又想在任何地方都能使用这个命令,就需要在环境变量PATH后增加该目录了。使用如下命令即可:
export PATH="$PATH:/usr/lib/gmt/bin"
如果上述命令添加在.bashrc文件中,注销重启后该环境变量即可生效。

没有评论:

发表评论