如何学好大数据开发?shell特殊符号
昨天我们讲了shell的基本语法知识,今天就继续巩固基础把特殊符号也一并解决了,和其他语言的基础一样,在学习大数据开发时,shell的特殊符号也是基础的重要组成部分。把特殊符号牢记在心,对我们的工作效率提升有很大的帮助,内容较多,建议收藏后观看。(另外小声问一下,大家是怎么记这些特殊符号的)
一、特殊符号
1。;分号
连续运行命令
例子:ifdowneth0;ifupeth0
2。管道
正则表达式中表示或者
例子:echoooooeeegrep(ooee){2}表示匹配oooo或者eeee的字符
前面命令的标准输出作为后面命令的标准输入
例子:ifconfiggrepeth0表示ifconfig查出来的信息然后过滤出eth0的这一行
3。逻辑或
前面命令返回值为非0才执行后面的命令
例子:p1p2;若p1执行成功后,不执行p2,反之,才执行p2
4。井号
注释符号。在shell文件的行首,作为include标记,!binbash;其他地方作为注释使用
5。;分号
语句的分隔符。在shell文件一行写多条语句时,使用分号分割。
6。;;双分号。
在使用case选项的时候,作为每个选项的终结符。在Bashversion4的时候,还可以使用〔;;〕,〔;〕
7。。英文句点号
命令等价于source,。表示当前目录。。表示上一级目录,正则表达式中作为单个字符匹配
(1)相当于bash内建命令source
例子:
!binbash;
。datafile包含datafile;
(2)作为文件名的一部分,在文件名的开头,表示该文件为隐藏文件,ls一般不显示出来(lsa可以显示);
(3)作为目录名,一个点代表当前目录,两个点号代表上层目录(当前目录的父目录)。注意,两个以上的点不出现,除非你用引号(单双)包围作为点号字符本身;
(4)正则表达式中,点号表示任意一个字符。
8。:冒号
是shell的空命令(nullcommand),什么也不做,但是返回true。用法比较多,主要有:
(1)可做while死循环的条件;
(2)占位符,if某一分支什么都不做的时候;
(3)域分隔符,比如环境变量PATH中,或者passwd中,都有冒号的作为域分隔符的存在;
(4)清空文件。因为冒号不向标准输出任何内容,所以可以用来清空文件,示例::file
(5)配合{:}给未定义或为空的变量赋值,示例::{abc:1234};echoabc,输出1234
9。单引号
硬转义,其内部所有的shell元字符、通配符都会被关掉。注意,硬转义中不允许出现(单引号)
10。双引号
软转义,其内部只允许出现特定的shell元字符(,,):用于变量值替换、用于命令替换、用于转义单个字符
11。正斜杠
文件名分隔符,除法操作
例子:例如:echo((102))结果就是5
12。反斜杠
转义,去除其后紧跟的元字符或通配符的特殊意义
13。!惊叹号
将命令或者条件表达式的返回值取反
例子:if!〔12〕;thenechook;elseechono;fi
ok
14。美元符号
例子:取变量的值
a10
echoa
10hr例子:正则表达式表示行尾
egrep:39;etcinittab
egrep‘hello39;file
15。0当前脚本的名称
16。传递给脚本或函数的参数个数
17。传递给脚本或函数的所有参数
18。传递给脚本或函数的所有参数。
19。?上个命令的退出状态,或函数的返回值。
20。当前Shell进程ID。对于Shell脚本,就是这些脚本所在的进程ID。
21。n传递给脚本或函数的参数。n是一个数字,表示第几个参数。例如,第一个参数是1,第二个参数是2。
22。作为匹配文件名扩展的一个通配符,能自动匹配给定目录下的每一个文件。
23。波浪号
这个和shell环境变量HOME是一样的。默认表示当前用户的家目录(主目录)
24。减号
和一样,表示前一个工作目录。
例子:cd,回到前一个工作目录,不能echo来查看。
25。双减号
与相同,表示当前用户的家目录(主目录)cd,回到家目录。不能echo来打印输出。
26。波浪号
这个和shell环境变量HOME是一样的。默认表示当前用户的家目录(主目录)
例子:echo,查看家目录。
27。加法
例子:a10;b20;exprab结果为30。注意空格
28。
当前的工作目录(currentworkingdirectory)。这个和shell环境变量PWD一样。
例子:echo可以查看当前目录。
29。
前一个工作目录(previousworkingdirectory)。这个和内部变量OLDPWD一致,和减号一样。例子:echo可以查看前一个工作目录。
30。!感叹号
取反操作符!不等于
31。乘法
万能匹配符,正则表达式中数学乘法幂运算
32。双星号
算术运算中表示求幂运算
33。取余
例子:exprba结果为0
34。赋值
例子:ab,将把变量b的值赋给a
35。()小括号。
主要有两种用法:
(1)命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。
(2)用于初始化数组。如:array(abcd)
36。{}大括号
代码块标识符,一般用于函数定义时表明函数体。
例子:a{3}匹配3个a
foriin{1。。。10}循环指定范围
匿名函数{cmd1;cmd2;cmd3;}devnull
36。输出重定向
例子:echolvlvfile,将标准输出重定向文件file中去,如果文件存在则覆盖,不能存在则创建。不指定输出的内容,file,则清空文件。
37。输出重定向追加符
例子:echolvlv1file,将标准输出重定向文件file的最后面,不会覆盖file原有内容
38。输出重定向等同符
作用于文件描述符,即左右两边的操作数是文件描述符
例子:echolvlvfile21,标准输出重定向到文件file中,标准错误输出与标准输出重定向一致
39。标准输出和标准错误输出重定向符
例子:echolvlvfile,标准输出和标准错误输出都重定向到文件file中,与echolvlv1file21功能相同
40。输入重定向
例子:test。shfile,脚本test。sh需要read的地方会从文件file读取
41。
用法格式:cmdtext。从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容。
以上就是本期的所有内容了,每一种语言的特殊符号是最为基础常见,但又非常重要。是我们基础学习的重要部分,无论在哪种工作中基础都是根,即使是在大数据开发的学习中,这特殊符号的基础也得牢记于心。
希望大家点个关注,及时收取最新文章推送,想了解更多敬请咨询加米谷大数据。
有问题的欢迎在评论区留言,如有侵权请告知。