环境变量
和windows系统相似,在安装许多软件的时候需要配置环境变量,在linux里也需要配置相应的环境变量。Linux中的环境变量主要分为系统级和用户级,系统环境变量是每个系统到系统的用户都要读取的变量,而用户级的环境变量则是用户使用系统时加载的个人环境变量。
-
系统级
/etc/profile 文件: 当用户登录Shell时执行的第一个文件,用来完成一些初始化工作,通常是调用/etc/bash.bashrc 文件来完成具体工作
/etc/environment 文件:系统级别的环境变量,并不是一个脚本,内容为一些环境变量赋值语句,用来给不从shell启动的程序设置环境变量。 -
用户级(文件主要是在home目录下)
~/.profile:每个用户都可以调用来输入自己使用的shell信息,不过在用户登录时,该文件只执行一次。
~/.bashrc:包含登录用户的专用bash shell的bash 信息。也就是说没开一个shell,该文件都会被读取一次。 -
临时的
针对当前的shell环境变量
简单来说,环境变量就是指定一个目录,软件在运行的时候,相关程序会按照该目录在查找相关文件。
Linux变量的种类
按变量的生存周期:
- 永久的:需要修改配置文件,变量永久生效
- 临时的:使用export命令来声明即可,变量在关闭shell的时候自动生效。
按环境变量自身的信息来划分,则可以分为:
- 当前shell进程是有用户自定义变量,此变量只在当前shell中有效
- shell自身内建的变量
- 从自定义变量导出的环境变量
1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);
3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。
4、不用export定义的变量只对该shell有效,对子shell也是无效的。