linux基础知识之环境变量

Linux下的变量

1. Linux的变量种类

按变量的生存周期来划分,Linux变量可以分为两类:

  1. 永久的:需要修改配置文件,变量永久生效。
  2. 临时的:使用export命令声明即可,变量在关闭shell时失效。

2. 设置变量的三种方法

  1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
    操作: 用vi在文件/etc/profile文件中增加变量,该变量将会对linux下所有用户有效,并且是“永久的”。
    举例: 编辑/etc/profile文件,添加CLASSPATH和LD_LIBRARY_PATH变量
vi /etc/profile(打开文件)
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX

注:修改文件后要想马上生效还要运行 #source /etc/profile不然只能在下次重进此用户时生效。
2. 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
操作: 用vi在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
举例: 编辑ashan用户目录(/home/ashan)下的.bash_profile,添加如下内容:

#vi /home/ashan/.bash_profile(打开文件)
export CLASSPATH = ./JAVA_HOME/lib;JAVA_HOME/jre/lib

注:修改文件后要想马上生效还需要运行 #source /home/ashan/.bash_profile,不然只能在下次重进此用户时生效。
3. 直接运行export命令定义变量 【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的。

tip:修改LD_LIBRARY_PATH的方法

这个没有修改LD_LIBRARY_PATH,但效果是一样的实现动态库的查找,这个设置比较麻烦,但比较不受用户的限制。ld.so.conf里面配置之后,添加的路径为最优先路径

  1. /etc/ld.so.conf下面加入一行/usr/local/mysql/lib
  2. 保存后执行ldconfig生效

注:ldconfig命令的用途:主要是在默认搜索目录(/lib和/usr/lib)以及动态配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前面介绍,lib. ),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表*

3. 环境变量的查看

  1. 使用echo命令查看单个环境变量,例如:echo $PATH
  2. 使用env查看所有环境变量,例如:env
  3. 使用set查看所有本地定义的环境变量。

4. 环境变量的删除(unset)

set可以设置某个环境变量的值,清楚环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。
示例:

export TEST = "Test..." #增加一个环境变量TEST
env | grep TEST #此命令有输入,证明环境变量TEST已经存在了。(输出TEST=Test...)
unset TEST # 删除环境变量TEST,如果吃命令没有输出,证明环境变量TEST已经删除。

常用的环境变量

  1. PATH:决定了shell将到哪些目录中寻找目录或程序
  2. LD_LIBRARY_PATH:动态库的查找路径
  3. HOME:当前用户主目录
  4. HISTSIZE:历史记录数
  5. LOGNAME:当前用户的登录名
  6. HOSTNAME:指主机名称
  7. SHELL:当前用户Shell类型
  8. LANGUGE:语言相关的环境变量,多语言可以修改此环境变量
  9. MAIL:当前用户的邮件存放目录
  10. PS1:基本提示符,对于root用户是#,对于普通用户是$
参考资料:
  1. https://www.cnblogs.com/qiuhong10/p/7815943.html
  2. https://blog.csdn.net/huangyimo/article/details/80580442

猜你喜欢

转载自blog.csdn.net/sysstc/article/details/89483591