00:00
好,那我们大家都已经习惯了,只要涉及到环境变量,我们统一都会配到这个ETC pro d,然后卖e v.SH里边,对吧?但其实啊,我们在Linux当中去配置环境变量的这个文件呢,其实有多个啊,哪几个呢?我们来看一下来Linux的环境变量可在多个文件当中配置啊,比如ETC profile,这也是一个文件啊,那还有谁呢?比如说ETC下边的profile.d下边的,诶,任何任意名的这个点SH文件都可以啊,这这是不是就是咱们选择的那个呀,对吧?还可以在哪配呢?还可以在诶加目录这个波浪号纸质加目录对吧?加目录下边的点BY神C,这是一个隐藏文件啊,在这个文件里配也行啊,也行,然后接下来呢,给大家说一下这几个文件之间的这个关系,以及这个区别啊,那首先要想说他们的关系和区别,我们首先需要给大家先介绍一个概念啊,就是拜事的这个运行模式。啊BA啊BA的运行模式有什么呢?有这样的两个,一个叫做login shell,一个叫做nu login shell login shell就是什么?指的是登陆式shell对吧?那这个指的是非登陆式shell啊那登陆式和非登陆式有什么样的区别呢?往下看啊,先看一下,比如说我们通过终端啊,然后比如终端就咱们的叉CL对吧?啊,那我输入用户名,输入密码,那咱们是不是会登录这个系统啊,啊就像咱们这儿,我这儿是不是就是输入用户名密码,然后登录了呀,对不对,那这种让你听啊,那这种啊这个拜式呢,我们就相当于是一个什么,就是一个login shell,是一个登录式shell。
01:37
啊,这就是登录时态啊,然后当咱们执行一个以下的命令,比如说什么SSH,然后呢,海度本103,哎,然后后边加一个命令。啊,这个相对是什么?是不是通过这个SSH远程在103去执行一个command,执行一个命令啊,对不对,那这时候在103执行的command,它就是一个non log in shell啊,就是非登录式的啊,就是非登录式的啊,那登陆式和非登陆式到底有什么样的区别呢?哎,其实主要在于这个环境变量文件的加载是有区别的啊,来看一下那两种SH药的主要区别在于它们在启动的时候呢,会加载不同的配置文件。
02:17
啊,Login shell启动时会加载,认真听会加载哪个点BYC。啊,会加载点BY是而C而none login shell呢,启动时会加载哎,什么东西啊,这个ETC啊,这个profile。诶这块,所以说他们的实际上是有这个区别的啊,有这个区别的啊好,那接下来呢,我们给大家呃去说一下这几个文件到底是呃怎么回事啊,给大家说一下来,诶我看一下这好像写反了啊,写反了啊,我看一下这个写反了是login shell,注意啊,Login shell启动时会加载这个ETC profile,这个得换一下啊。
03:02
这写反了,来,CTRLV把这个拿过来。然后这个呢,咱们把它CTRLX给它拿到这边来啊,CTRLV啊好来我们再继续往下就行啊,那这这个大家自己一会也记得记得改一下啊,就咱们这个login shell就是登陆式shell呢,我启动时会加载ETC profile,然后呢,这个非登陆shell呢,呃,这个这种shell呢,启动时会加载点BY10C啊是这样的,好,那接下来我们去看一下啊。而在加载点BY10C啊,或者是ETC profile的时候呢?啊,其实最终都会执行一个这样的片段。啊,这二个片段是什么?你看一下啊,这相当于是一个for循环对不对,这个for循环在遍历一个文件,哪个文件是不是ETC profile.d下边的星点SH啊对不对,也就是说不管你加载的是这个还是加载的是这个,其实最终都会加载,谁都会加载这个路径下边的配置文件啊,也就是说甭管你是哪种she是log in的还是none log in的,甭管是哪个,其实最终都会加载,谁都会加载我们在ETC啊profile d下边配在SC文件,所以说最终咱们是不是把那个配置,呃环境变量都配在这个文件里面去了呀,那所以不管是任何何种方式都会加载啊,实际上这样的啊,那接下来咱们去可以去找一下这个文件片段啊,咱们去看一下。
04:26
呃,比如说我现在是这个log shell login shell会加载哪个配置文件,是不是会加载,哎VM啊,这个ETC,然后呢,Profile profile对吧,都会加载这个来那点开看一下。来,我们看一看啊。那在这个里边呢,我们找一个这个代码片段,诶就在这儿,你看是不是有这样一个复数循环,它会遍列这个文件,那遍历完之后呢,你看啊,它会执行一个这样的命令,叫做点Dollar a,这个点指的是什么呀?点就是S。
05:00
啊,S就是点啊,它俩是一样的,就是咱们的SOCE对吧?哎,S命令呢,也通常管它叫做点命令啊,它俩是一样的东西啊,这个点就是那个source,哎,这个把它知道就行了啊,也是它会加载ETC profile d里边的文件,好再来看下一个,下一个我们是不是在那种,就是说这个在非登录shell的时候呢,我们会加的谁啊,会来点YC对吧?会加点YC,那现在呢,我们找到这个点YC加目录,我们点VM.bashrc,然后打开,打开之后呢,我们来看一下这个位置啊。看这个位置,你看这里边啥也没干对吧,他就做了一个这个判断,判断这个文件它是不是一个文件,如果是的话,我是不是就点它一下啊,点就是S一下,那接下来来是不是得看一下这个文件当中有啥呀,来复制一下,然后再shift z z啊,然后同样是vim一下啊,ETC下面的BYZ,比如说来咱们还是找这个关键的代码片段啊,来往下走。哎,找没找到。
06:00
啊走诶在这个位置,你看这儿是不是也是在对这个ETC profile角D下面的星点SH做便利啊完了之后呢,这里边也是点这个文件啊,也会点它,那所以说实际上那咱们的环原量如果说配置到了咱们的这个ETC pro d下边,那其实那咱们做不管做何种的这个,呃,这个这个配置呃,不管是哪种的这个登录啊,是log in或者n log in的,那其实我我都会加载,那所以咱们最终配在这里边了啊啊那这个大家了解一下就行,呃然后这里边呃,大家需要注意的是什么呢?就是咱们这儿刚才有一个小笔误啊,小笔误就是login shell,登陆式shell呢,启动时会加载ETC profile哎非登陆式shell呢会加载哎点BY12C,它俩是有这个区别的啊,啊就是大家可以做一个什么东西啊,可以做实验的。可以做实验,你比如说刚才说了。啊,那我这个这个怎么样的呀,我这个输入用户名密码,我就是log she对吧?啊,那如果说我是这种SSH啊,那它是不是就是这种非登录式的呀,对不对,那你可以尝试着,比如说我在ETC profile里边,我去配一个环境变量。
07:10
对不对,然后呢,我通过这种SSH海度103,然后我后边执行一个命令,这个命令是啥呢?比如就是E口,你那个环境变量,你看能不能打出来,打不出来是不是就说明它没有加载这个这个那个那个那个文件呀,对不对,是这样,所以大家可以自己做一个测试啊,啊那这块呢,咱们就完事了,我把视频录一下啊。
我来说两句