Linux变量按照存在的周期去区分的话,分为两类,即为:永久的和临时的。
修改的方法分别如下:
1.永久的:需要修改配置文件,变量永久生效。常见的配置文件包括:
1)/etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置。
例如:编辑/etc/profile文件,添加CLASSPATH变量,
#vi/etc/profile
添加一行:
exportCLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改后需要执行重新登录才能生效,也可以执行命令source/etc/profile来生效。
2)/etc/bashrc:对所有用户生效;为每一个运行bashshell的用户执行此文件当bashshell被打开时,该文件被读取。
编辑方法如上,不再赘述。
3)~/.bash_profile:仅会对当前用户有效;每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$vi/home/guok/.bash.profile
添加如下内容:
exportCLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改后需要执行重新登录才能生效,也可以执行命令source/etc/profile来生效。
4)~/.bashrc:仅会对当前用户有效;该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该文件被读取编辑方法如上,不再赘述。
另外,~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。
综述,对上述文件修改,添加你需要的变量,在启动一个shell(终端,terminal)时,你所定义的变量均会生效的。
2.临时的:使用export命令声明即可,变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,在关闭shell后失效,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
在shell的命令行下直接使用[export变量名=变量值]定义变量。
环境变量的查看:
1)使用echo命令查看单个环境变量。例如:echo$PATH.
2)使用env查看所有环境变量。例如:env.
3)使用set查看所有本地定义的环境变量。例如:set .另外,unset可以删除指定的环境变量。