环境变量是具有特殊名字的一个特定对象,包含了一个或多个应用程序运行所需的信息。(例如环境变量PATH,可执行程序的搜索路径,当要求系统运行一个程序,而没告诉系统它的具体路径时,系统就要在PTAH值的路径中寻找此程序,找到去执行)。
2、常见环境变量(一般都为大写):
PATH :/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin。指定SHELL命令的路径,包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件,如ls不在这些目录中,系统就无法执行它,除非你输入这个命令的完整路径,如/bin/ls。
HOME:当前用户的家目录。
MAIL:是指当前用户的邮件存放目录。
SHELL:是指当前用户用的是哪种Shell。
HISTSIZE:是指保存历史命令记录的条数
LOGNAME:是指当前用户的登录名。
HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
PS1:是基本提示符,对于root用户是#,对于普通用户是$。
PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,MyNewPrompt:)”。
3、Linux 中环境变量的文件
当你进入系统的时候,linux 就会为你读入系统的环境变量,这些环境变量存放在环境变量的文件中。Linux 中有很多记载环境变量的文件,它们被系统读入是按照一定的顺序的。
/etc/profile :此文件为系统的环境变量,它为每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d 目录的配置文件中搜集shell 的设置。
/etc/bashrc :在执行完/etc/profile 内容之后,如果用户的SHELL 运行的是bash ,那么接着就会执行此文件。另外,当每次一个新的bash shell 被打开时, 该文件被读取。
~/.bash_profile :每个用户都可使用该文件输入专用于自己使用的shell 信息。当用户登录时,该文件仅仅执行一次,默认情况下,它设置一些环境变量,执行用户的.bashrc 文件。
~/.bashrc :该文件包含专用于单个人的bash shell 的bash 信息,当登录时以及每次打开一个新的shell 时, 该该文件被读取。
~/.bash_logout :当每次退出系统( 退出bash shell) 时, 执行该文件。
4、设置环境变量常用的几个指令
echo:查看显示环境变量,例:echo $PATH
export设置新的环境变量 例:export MYNAME=”LLZZ”
修改环境变量:修改环境变量没有指令,可以直接使用环境变量名进行修改, 例:MYNAME=”ZZLL”
env:查看所有环境变量
set:查看本地定义的所有shell变量
unset:删除一个环境变量 ,例 unset MYNAME
readonly:设置只读环境变量, 例:readonly MYNAME
5、环境变量的设置:
临时设置:
直接用export命令:export PATH=$PATH:/home/u/bin
查看是否已经设好,可用命令export查看: export 或 echo $PATH
永久设置
1、修改profile文件:修 改/etc/profile(对所有用户都是有效的),在里面加入:export PATH=$PATH:/home/u/bin
2、修改~/.bashrc文件。 (每个用户目录下都有,ls -all,单独用户有效),在里面加入:export PATH=$PATH:/home/u/bin
永久设置方法一般需要重新注销系统才能生效,注销重登陆后,可以通过echo命令测试一下。
6、环境变量是和shell紧密相关的,用户登录系统后就启动了一个shell,对于Linux来说一般是bash,也可以切换到其他版本的shell。bash有两个基本的系统级配置文件:/etc/bashrc和/etc/profile。这些配置文件包含了两组不同的变量:shell变量和环境变量。shell变量是局部的,而环境变量是全局的。环境变量是通过shell命令来设置。设置好的环境变量又可以被所以当前用户的程序使用。
原文地址:http://blog.51cto.com/12674559/2096643