旧游无处不堪寻
无寻处,惟有少年心
Shell(五)

本篇,我们来看一下 Shell 中的函数并且复习一下之前说过的正则表达式。

函数


函数定义的基本语法为:

函数名() {
{commands}
}

# 或者

function 函数名 {
{commands}
}

函数调用的基本语法为:

函数名

正则表达式


关于正则表达式,我们之前已经说过两次了,这次我们在复习一下。

介绍

正则表达式是一种文本模式匹配,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”)。它是一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串替换或者从某个字符串中取出某个条件的子串。

shell 也支持正则表达式,但不是所有的命令都支持正则表达式,常见的的命令中只有 grep、sed、awk 命令支持。

特殊字符

定位符 说明
^ 锚定开头 ^a 以 a 开头 默认锚定一个字符
$ 锚定结尾 a$ 以 a 结尾 默认锚定一个字符
匹配符 说明
. 匹配除回车以外的任意字符
() 字符串分组
[] 匹配括号中的一个字符
[^] 表示否定括号中出现字符类中的字符
\ 转义字符
限定符 说明
* 某个字符之后加星号表示该字符不出现或出现多次
? 表示该字符出现一次或不出现
+ 表示其前面字符出现一次或多次
{n,m} 某个字符之后出现,表示该字符最少 n 次,最多 m 次
{m} 某个字符之后出现,表示该字符正好出现了 m 次