浅谈Linux环境变量

环境变量的分类:

永久性变量和临时性变量:根据环境变量的生命周期我们可以将其分为永久性变量和临时性变量

系统级变量和用户级变量:根据用户等级的不同又可以将其分为系统级变量和用户级变量

1.下面介绍系统级别的永久性变量

往/etc/profile里添加的变量对系统内的所有用户都生效,所有用户都可以使用这类变量,如下图所示,这个需要在root超级用户下才能修改,并且注意添加完成后新的环境变量不会立即生效,除非你调用source /etc/profile 该文件才会生效,或者在下次重进此用户时才能生效。

浅谈Linux环境变量_第1张图片

2.对单一用户生效的永久性变量(用户级)

查看方法:在用户主目录”~”下的隐藏文件 “.profile”中添加自己想要的环境变量

查看隐藏文件: ls -a或ls -al如下图所示

和修改系统级profile文件一样,修改完.profile文件后需要source .profile后才能立即生效,或者下次重进该用户才能生效

3.临时有效的环境变量(只对当前shell有效)

该类环境变量只对当前的shell有效。当我们退出登录或者关闭终端再重新打开时,这个环境变量就会消失。是临时的。

使用方法:环境变量不存在,使用export设置环境变量,echo查看变量,由于时临时变量,所以不需要重进该用户shell或source

环境变量存在时,可以不需要加export直接修改环境变量

浅谈Linux环境变量_第2张图片

查看所有环境变量,使用env,包括系统级和用户级变量

 

浅谈Linux环境变量_第3张图片

删除一个变量使用uset

浅谈Linux环境变量_第4张图片

指定命令的搜索路径,通过设置环境变量PATH可以让我们运行程序或指令更加方便,每一个冒号都是一个路径,这些搜索路径都是一些可以找到可执行程序的目录列表。当我们输入一个指令时,shell会先检查命令是否是内部命令,不是的话会再检查这个命令是否是一个应用程序。然后shell会试着从这些搜索路径,即PATH(上图中路径)中寻找这些应用程序。如果shell在这些路径目录里没有找到可执行文件。则会报错。若找到,shell内部命令或应用程序将被分解为系统调用并传给Linux内核。

举例:

浅谈Linux环境变量_第5张图片

总结:环境变量是和shell紧密相关的,用户登录系统后就启动了一个shell,对于Linux来说一般是bash(Bourne Again shell,Bourne shell(sh)的扩展),也可以切换到其他版本的shell。bash有两个基本的系统级配置文件:/etc/bashrc和/etc/profile。这些配置文件包含了两组不同的变量:shell变量和环境变量。shell变量是局部的,而环境变量是全局的。环境变量是通过shell命令来设置。设置好的环境变量又可以被所以当前用户的程序使用。

你可能感兴趣的:(环境变量)