00:00
大家好。欢迎大家继续收看上硅谷云计算课程,我是沈超老师。这节课我们继续来学习上儿的基本功能通配符之前讲过了,你需要注意一件事,它是用来匹配文件名的啊,文件名称的,而且它是完全匹配。必须一模一样才会列出,否则就要加同类符。这些符号都是讲过的,所以不再多说了。那只是告诉你通配符,其实也可以算作12当中的功能啊,往下看。这些东西就没有学过了,我们来学习一些事儿当中的特殊符号。那么我就说各位。编程就是这样,就是这样,讨厌。他要不然就是追求这些引号的区别。要不然就是追求这个括号的区别,反正但是这些东西你要背不下来,你后面写的时候,或者别人写好的东西,你可能就看不懂,所以这个可能还是必须需要知道。那我们先来看第一组,也就是这些引号之间的区别,那主要的区别有单引号和双引号,还有反引号,那么主要区别是单引号和反引,这个双引号,我们先看看那在单引号当中所有的特殊符号都没有特殊含义。
01:17
而在双引号当中。那个特殊符号,也就是刀号。反引号和反斜杠,它都是有特殊含义,而其他的符号是标志,这个普通符号啥意思啊,那我们说。这个Dollar号在我们的系统当中,在上当中,它是用于调用变量的值的。哎,各位,为了写程序和写这个运算方便,在我们所有的程序脚本当中都必须要设定变量,那怎么设定呢?在事中非常简单,不需要再加多余的东西,比如说内部等于IC。好,我们下节课我们会教大家,就下下节课讲变量,开始我们会告诉大家变量的一些规则,这节课你就先看就行了,这个内部等于C,这个时候我就给这个变量内里面赋了值,是我的姓名的缩写。
02:13
那如果我要调用这个变量的值,那么我干嘛,我就哎这个IO到。IO是输出内容IO是输出,那输出的后面是变量值,那如果不加这个Dollar号,系统就不知道你是要输出变量的值,他以为你输出的只是一个字符串,它就会把内幕这个字符串打印出来。而如果要想打印变量里面的内容,需要在变量的前面需要加Dollar,哎,这样的话看就会输出里面的内容,格雷这是Linux share和其他语言都不太一样的地方,其他的语言要不然比如说像PP,它定义变量的时候前面也需要加到了。调用变量的时候也需要加,要不然有些语言就是这也不需要调用它的值引也不需要那事,我就说它有一定的自己的规则,它是什么。
03:02
定义变量的时候,就是命名变量的时候,变量名等于变量值就行了,不需要加do号,但是在调用变量的时候,就需要在变量名前面加do号才能输出里面的内容啊,这是Dollar的基本作用,就是调用变量的值,只有在调用变量的时候,那我们回来看这两个加号的区别,那区别就在于。如果你是用双引号把这个变量括起来看着啊。那么这个系统这个双引号当中括起来之后,这个刀勒佛是有特殊含义,换句话说它依然是这个调用变量值,所以双引号括起来,诶啊,双引号括起来,它是可以正确执行,它输出的是变量的内容,但如果是要用单引号括起来,我们看一下单引号。注意不是反引号,是单引号啊,括下来你会发现。它啊,不不不不不打错了,一个打了单引号,一个打了双引号啊好稍等看一下,看它输出的内容是什么。
04:03
他会把这个Dollar当成普通符号、普通字符,然后把这些内容都当成普通字符,直接输出普通字符。那也就是我们说了,在单引号当中,所有的普通符号,包括Dollar这样的东西都会丧失意义,就变成普通字符。而双引号当中,像Dollar转移符,包括反引号这样的东西,它还是会保留它的含义。这就是单引号和双引号的作用。其实也就是说,我们一般情况下,如果需要把变量括起来,需要你用双引号来括,这样变量才会有意义,如果单引号一括,它就不再是变量了,它就变成这个普通字符串,这样的话变量就没法运行运算了。明白好,这个是单引号和双引号之间的这个区别。那接下来我们再看看反引号。各位。反引号,它的作用和这个高落小括号是一样的,它的作用是在里边括起来的内容是系统命令。
05:04
哎,各位小心啊。如果我们要直接执行一个系统命令,比如说date,那这个时候是不需要扩的。对吧?就像我们在12程序当中,如果我直接就要写一个Li命令,你直接写就行了,不需要把它括起来,你就直接运行就行,那什么情况下需要把它括起来呢?我是这样的,比如说我定义一个变量A,我要把它。把date命令的结果赋到变量A当中,如果我需要给变量赋值,这个时候我是不是就一定需要date命令先运行,然后它是不是才是结果,是不是才能负到变量,那换句话说,只有需要把命令。附在变量当中,命令的结果附在变变量当中的时候,这个命令才需要用反引号括起来。如,但是啊,如果你的命令要直接运行,直接回撤就行了,那这种情况下,你看如果不加反引号,看我AQ Dollar Dollar a的值,Dollar a的值是data这个字符串原因系统不知道这是个命令。
06:05
换句话说,他认为你只是把这个字符串赋给了变量而已,所以A里面的值就是D,那如果我想让它的值要是。这个运行呢加反绕。其实你可以理解为,只要加了反引号,就明确的告诉系统,这个家伙是系统变量,它需要先运算,然后再把值赋予变量,这个时候你看A到了AA里面的值就是这条命令的结果,那任何命令的结果都可以附在变量里。你听清了,我再说一遍啊,你听清楚啊。不是说在Sha尔当中只要写LINU4命令就需要加翻译号,不是SHA2之所以简单或者就适合管理员,在于Sha尔是可以直接调用Linux的命令的,你要想在SHA2当中运行某一些命令,比如说你想运行的CP复制一下,在SHA2当中把原文件复制到某一个位置做备份,写这个,写这个程序,这个命令就直接往上脚本写就行了,你就在系统当中怎么运行了,你脚本当中你就怎么写就行。
07:07
所以如果命令在十当中运行,是不需要加特殊格式,除非你想把这个命令先运行,再把这个命令的结果赋给变量。这种情况下,需要把。这个命令用反引号括起来,听懂了吗?你甚至就可以硬背下来,什么?只有加了等号,后面的命令才需要加反引号,否则不写反引号,OK,那但是啊,反引号。反引号市场。各位,反引号是你数字一旁边那个键,也就是ESCESC键下面那个键是反引号,那我说实话这个很容易看过。尤其是如果把它写在文档里,写在书里,你如果写成反引号,有时候果呢会帮你自动就跳成单引号,这个事儿是很容易出错的,所以各位超哥建议你们尽量使用刀了,小括刀了,小括号它的作用和反引号作用一模一样,它的作用就是引用系统命令。
08:09
那Dollar了,小括号是不是就不会容易看错,不会把这玩意儿看成单引号,OK啊,所以超高后面以后调用系统命令,我们都会尽量使用到了小括号,而不会用反引号,但是你要知道这两个是一样的,在其他的一些脚本当中,其他工程师写的脚本当中,你还是有可能会看到反引号,你要能看懂这个东西,换句话说啊,那我付一个B。负一个变量B到了小括号,我想运行一条结果,比如说我想把系统root目录下的文件名附在这个里面,那我就可以root。然后把它的结果附在变量B,那我们看A口到了B。看看B里边的值是不是就是这些所有文件,所有文件入藏目录下所有文件的文件名称对不对啊,理论上来说所有的命令,只要这个命令有输出,他就可以把结果付给变量B,哎,没输出了不行,比如说CD这个不行,那CD就切换了它,它没有输出,你你给别人付是吗?对吧?好,那理论上这两个是一样的,建议大家使用下面这种不容易搞混啊。
09:15
那这是这四个符号的区别,各位我们说心里话啊。编程就是这样,他抠了就是这个东西,而且可怕之处在于,你只有把这些东西全都背下来,你在写脚本的时候,你才能用到它,你才能想得起来,你的脚本有可能才能写得出来。或者别人的选择脚本你才能看得懂,所以啊,觉得这东西看起来好像很迷茫,而且很抠是吧?甚至一开始我都不理解是什么,那没办法,先把它给我死记硬背下来,OK,好,那我们这节课先讲这四个符号,我们休息一会儿再讲后面的符号,这节课就这样,下节课再见。
我来说两句