shell第四天

第四天shell编程
shell 函数: 允许将一组命令集合或语句形成一段可用代码,称为函数名,后续可以直接调用该组代码。
格式:
function() {# 指定函数名

command #函数体
}
例如:
function() {
echo "this is a function"
}
function
函数返回值
function() {
var=$((1+1))
return $var
echo "this is a function"
}
function
echo $?
函数传参:
function() {
echo "hello $1"
}
function
shell正则表达式{
1 在每一种语言中都会有正则表达式。
其功能就是匹配符合你预期要求的字符串。
2 正则表达式分为两种:
a 基础正则表达式
b 扩展正则表达式:+ ? | ()
3 正则表达式就是为了处理大量文本
字符串而定义的一套规则和方法
4 通过定义的这些特殊符号辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。
}

正则表达式和通配符有本质区别{
1 不需要思考判断的方法:三剑客 awk sed grep
都是正则,其他都是通配符
2 区别通配符和正则表达式的最简单方法:
1 文件目录名===>通配符
2 文件内容( 字符串,文本[文件]
内容)==>正则表达式
}

三剑客之一grep举例说明{
!!!注意:在匹配模式中一定要加上引号
a . 匹配任意单个字符(必须存在) l..e
b ^ 匹配前面字符串开头。 匹配以abc开头的行
echo -e "abc xyzx"|grep ^abc
c $ 匹配前面字符串结尾 。 匹配xyz结尾的行
echo -e "abc xyz"| grep xyz$
d * 匹配前一个字符的零个或多个
a* 表示出现任意个a的情况
a*b 表示前面有任意个a的情况(包括没有a的情况)
e .*表示任意长度的任意字符
f [] 表示范围内的一个字符
g [.-.] 匹配中括号中范围内的任意一个字符
h [^]匹配[^字符]之外的任意一个字符
i ^[^]匹配不是中括号内任意一个字符开头的行
j {n}或者{n,} 匹配花括号前面字符至少N个字符
k {n,m} 匹配花括号前面字符至少N个字符,最多m个字符
l < 锚定单词首部(单词一般以空格或特殊字符做分隔)
m > 锚定单词尾部(单词一般以空格或特殊字符做分隔)
n ()1 调用前面的第一个分组


}
}

原文地址:https://www.cnblogs.com/gengyanqi/p/10414849.html