00:00
大家好。欢迎大家继续收看上硅谷的云计算课程,我是沈超老师,这节课呢,我们继续来学习环境变量,这节课我们来学习用户自带的这些环境电量,系统自定义的环境,自带的环境变量。这些都会干扰我们系统的重要的这个操作环境,那我们前面说啊,Set或者是EV是不是都能看到一部分的这个环境变量,对吧?那我们说绝大多数的环境变量其实是不需要解释的,我们大多数都能看懂,对吧?那少部分或者比较重要的,我们需要提醒大家一句,比如说这个case,这是我们需要讲的第一个这个系统自带的环境变量。那我再说。系统自带的环境变量,它的变量的名称,变量的作用都不能变,作用都不能改,能改的只是里面的值,只是能改的值。所以我们首先要学的事情是,你要知道它的作用是什么。
01:00
其次啊,每次如果set查一堆,然后在里边一个一个找,不方便,所以我们既然是变量,完全都可以用这个A口的方式,是不是输出里面的值,注意的事情是环境变量,系统默认自带的环境变量是大写的啊,这就是这个变量里的值,这是什么呢?如果我们仔细看一下,你会发现它是用冒号分割开。分割开的路径。看见了吧?所以这是什么呢?这是系统查找命令的路径。什么意思?你回想一下,我们在讲事的时候,我们就开始说,我说系统下我们的事,或者说执行脚本应该怎么运行。我说是不是两个方法,一个是通过绝对路径找到它。Hello word sh是不是来运行相对路径找到它也是一个意思啊,这两个是一个方法,OK,这是一个方法。还有一个方法是不是用被试啊,直接执行被神命令,然后后面加脚本名,然后让它运行,我说我们建议是都是用上面这种。
02:06
我也说啊各位,其实我一直说我们Linux当中所有的执行文件都应该是用绝对路径找到它来执行的。对吧,但是有一个问题,我不知道你们有没有人想问我,我问你LS是不是执行文件。LS是不是执行文件,是啊,它不就是放在B下的执行文件嘛,对吧,放在B下的执行文件对吧?但是为什么系统命令既然也是执行文件,那它为什么没有加这个绝对路径或者相对路径它就可以运行呢?各位。我前面一直在说,我说我们所有的这个执行文件都应该是加绝对路径,找到它,然后回车,它就可以运行,那为什么系统命令没有加绝对路径直接能执行呢?各位,根本原因就是这个派环境变量的作用。
03:02
那他到底是干嘛的,我说它是系统查找命令的路径啊,啥意思啊。当我敲一条命令回撤,我没有指定它的路径。系统就会干嘛,在PA定义的这些变量里,从头开始,从左边开始找。没找着找第二个,没找着找第三个,找到这里,找到了在并下发现有LS,它就会直接运行。而如果把所有都搜索完,到最后也没找着。那他就会认为,你看我们报了错,比如说打错一个命令,他报了错是啥命令没有找到。那他是在哪没找到,就是在派指定的这个路径中没找到,换句话说,他把这个路径一个一个一个从头到尾找到,最后一个没找着,你写的这个命令,他报的是这个错,换句话说。我们所有的命令都应该是使用绝对路径或者相对路径找到命令在哪才能运行,那之所以系统命令不需要打绝对路径,根本原因是太环境变量的作用。
04:09
哎,那各位linus是这样,Windows是什么?其实也是啊各位我们在Windows当中也一样的啊,这个WIN7的在哪啊,我找找。啊,温馨是不是应该在这儿啊?这个高级设置我们看看。在他的这个环境中。环境变量在这啊看。PA也有这样一个路径,仔细看啊,它里边写的是啥?看C盘下Windows目录下的C32分号隔开C盘下的Windows也是这样的,所以Windows里执行命令,看为什么我们也可以不打路径IP卡菲格查IP的命令回车就能运行,原因就是Windows也有PA环境变量存在。
05:02
只是大家我们在Windows下一般都用图形的,很少在执行命令,咱们就忽略了这个事儿,这个还真是Windows和Linux是相同的啊,Linux也是如此,那好。那小先啊,我们Linux下是用冒号做一分割,那好,那现在问题来了,我这里是不是写了一个哈罗呢?我要想运行它,是不是就是点哈罗H是才能运行,那我能不能像系统命令一样。不打路径,也不打相对路径,我就想直接运行它可以吗?可以两个办法。一个办法,你直接把这个命令复制到系统下这个PA里的任意一个这个路径下,比如说复制到B下。这是可以的。那么是啥?比如说CP把hello word复制到B下面,直接复制过去,当然做个链接也行,OK,那这个时候看点hello,按tap键直接就补了。
06:00
哎,说明K不键的补全其实也是依赖的,这个派路径也是依赖着他。那这个时候看就可以直接运行了,不再需要打部件,当然啊,如果我要把这个删掉定下的哈,删掉这个时候看啊再把哈。首先按shift键不补了,我再摁点哈,点H会说报错没找到,没找到这个东西,它也是按路径找,所以没找到哦,这就是。是吗?第一个办法,把命令随便复制到这哪一个目录下都行,它是按照这个路径顺序一个一个找啊。第二个办法就是看我们讲了。命令的叠加。我把这个路径。哎,我把我的root所在的root目录直接截到这个后面。让他也会搜索root路径是不是也可以对吧,叠加格式看见了root下的SH啊,那我要,那我还是啊,那我还真得再建个SH,我后面写的脚本会比较多,全写的root了下会很乱,那我还真的我就创建一个MK。
07:09
DRSH,然后呢,把这个hello word挪到SH下好。那我现在进去SH这里现在没有路径,所以直接打肯定是不能运行的。肯定不行,那我现在怎么办?派等于讲过,格式是双引号Dollar pass。对吧,后面直接叠加内容就行了,哎,这个你看一眼这个路径的格式啊,它是以括号分割的嘛。所以我往里叠加的时候,别忘了在前面加个冒号,我叠加的内容是括号root下的SH对吧,所以冒号root下的SH,那这个时候看Dollar。这里。这个路径是不是就有了,那这个时候我的哈叫脚本。
08:02
就可以直接K键补全回车直接运行,不需要拿路径。两个办法,看见了吗?一个办法是把命令复制到。这个PA的任意一个路径中,第二个办法是把你的脚本所在的路径加到PA变量,对吧?那这样也足以可以说明PA的作用就是系统搜索命令的路径,所以这里啊提醒大家。我们反复强调,Linux下所有的这个执行文件都都应该是通过绝对路径找到它的执行文件回撤才能运行,包括系统命令也同样是这样。之所以系统命令可以省略这个路径,根本原因是派变量。我们定义了派变量,它会按照这个路径自动搜索,OK,那这个是可以按照我们自己的需求改的,对吧?好了,那这节课的内容就这样,派变量是一个比较重要的环境变量,大家要能理解它是干什么的,好,下节课我们再见。
我来说两句