Linux 下 环境环境变量(PATH/LD_LIBRARY_PATH)

按变量的生存周期来划分,Linux变量可分为两类,它们的修改方法如下:

(一)永久的

需要修改配置文件,变量永久生效.常见的配置文件包括:

(1-1)/etc/profile

对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile

PATH

添加一行:

1

PATH="$PATH:/usr/local/hadoop/bin"

(注意等号(=)两边不要有空格)
让环境变量立即生效需要执行如下命令:

1

#source /etc/profile

或通过echo命令测试一下:

1

$ echo $PATH

LD_LIBRARY_PATH: 动态库的查找路径

可以在/etc/profile中增加一行

1

export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX (但是登出后就失效)

1

还有一种export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH

执行命令

1

source /etc/profile

来使改变生效
也可以,/etc/ld.so.conf下面加一行/usr/local/mysql/lib
并执行

1

ldconfig

来使改变生效

(1-2)/etc/bashrc

对所有用户生效;为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.编辑方法如上,不再赘述

(1-3)~/.bash_profile

仅会对当前用户有效;每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次
例如:编辑guok用户目录(/home/guok)下的.bash_profile
vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib
修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效

(1-4)~/.bashrc

仅会对当前用户有效;该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取
编辑方法如上,不再赘述
另外,~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是”父子”关系
综述,对上述文件修改,添加你需要的变量,在启动一个shell(终端,terminal)时,你所定义的变量均会生效的。

(二)临时的

使用export命令声明即可,变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,在关闭shell后失效,再打开新shell时就没有这个变量,需要使用的话还需要重新定义
在shell的命令行下直接使用[export 变量名=变量值] 定义变量

环境变量的查看
(1)使用echo命令查看单个环境变量。例如:

1

echo $PATH

(2)使用env查看所有环境变量。例如:

1

env

(3)使用set查看所有本地定义的环境变量。例如:

1

set

另外,unset可以删除指定的环境变量。

常用的环境变量

PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户Shell类型
LANGUGE  语言相关的环境变量,多语言可以修改此环境变量
MAIL  当前用户的邮件存放目录
PS1  基本提示符,对于root用户是#,对于普通用户是$

各种修改方式的区别

在登录情况下,一般shell会先读取/etc/profile,再读取.bash_profile。如果是在非登录情况下,shell只会去读取.bashrc。
修改/etc/profile,对所有用户都有效;
如果只想修改root用户的环境变量,可以修改/root/.bash_profile或/root/.bashrc;
同样的,如果只想修改用户1的环境变量,可以修改/home/用户1/.bash_profile或/home/用户1/.bashrc

猜你喜欢

转载自blog.csdn.net/qq_35886593/article/details/89925919
今日推荐