Linux 运维学习第五天-正则表达式及shell脚本
来源:互联网 发布:二季度出口数据 编辑:程序博客网 时间:2024/04/30 16:44
REGXP:REGular EXPression 正则表达式
正则表达式:
Basic REGEXP:基本EXtended REGEXP:扩展
基本正则表达式:
.:
[]:
[^]:
次数匹配:
*:
\?:
{m,n}:
.*:
锚定:
^:
$:
\<,\b:
>,\b:
()
\1,\2,..
grep:使用基本正则表达式定义的
-i 忽略大小写-v-o-E:使用扩展的正则表达式-A n:显示匹配行后面n行-B 前-C 前后
扩展的正则表达式:
字符匹配:
。
[]
[^]
次数匹配
*
?
+
{m.n}
位置锚定:
^
$
\<
>
分组
()
\1
或者
|
grep -E =egrep
fgrep:不支持正则表达式;
shell编程:
编程语言:机器语言,汇编语言,高级语言
静态语言:编译型语言
强类型(变量)
实现转换为可执行格式:c,c++,java,c#
动态语言:解释型语言,
弱类型
边介绍边执行
PHP,shell,python,perl
面向对象:shell,c
面向过程:java,python,
变量类型:
字符
数值:
整型
浮点型
逻辑运算:
异或:
shell;弱类型编程语言
强:变量在使用前,必须事先声明,甚至还需要初始化;
弱:变量用是声明,甚至不区分类型;
变量赋值:
bash:变量类型;
环境变量:
作用域为当前bash及子进程
export VARNAME=VALUE (导出)
本地变量(局部变量)
VARNAME=VALUE :整个bash进程
local VARNAME=VALUE:只对当前代码段有效
脚本在执行时会启动一个子shell进程
命令行中启动的脚本会继承当前shell环境变量
系统自动执行的脚本(非命令行启动)就需要自己定义环境变量
位置变量:
程序执行结果
程序状态返回代码(0-255)
0:正确执行
1-255:错误执行
1,2,127系统预留;
输出重定向
>
>
2>
2>>
&>
/dev/null :软件设备,bit bucket ,数据黑洞
撤销变量 unset VARNAME
操作变量本身就不要加$
查看变量 set
查看当前shell中的环境变量:
printenv
env
export
字符型变量
users=zkh
users=$users:jl
脚本:命令的堆砌,按照实际需要,结合流程控制
练习:写一个脚本:
1、添加5个用户,user1,。。user5
2、每个密码同用户名,添加后不显示passwd执行结果信息
3、显示添加完成信息
二、
1.使用一个变量保存一个用户名
2.删除此变量中的用户,且删除家目录
3.显示”用户删除完成“信息
条件判断:
bash中实现条件判断:
条件测试类型:
整数测试
字符测试
文件测试
条件测试的表达式:
[ expression ][[ expression ]]test expression
整数比较:
-eq:是否相等-ne:是否不等-gt:是否大于-lt:是否小于-ge:大于等于-le:小于等于
命令间的逻辑关系:
逻辑与: &&
第一个条件为假时,第二条件不要再判断;第一个条件为真时,第二条件必须再判断
逻辑或: || id
非:!
变量名称:
1、只能包含字母,数字,下划线,并且不能以数字开头
2、不应该跟系统中已有的环境变量重名
3、做到见名知意
如果用户存在,就显示用户已存在,否则就添加用户
条件判断,控制结构:
单分支
if 判断条件;then
statement1
statement2
…
fi
双分支:
if 判断条件;then
statement1
statement2
.,
。。
else
statement3
statement4
.。。
fi
脚本练习:
1,判断当前用户系统上是否有用户的默认shell
shell中做算数运算
1.let
2.
s4.expr
- Linux 运维学习第五天-正则表达式及shell脚本
- 正则表达式学习第五天
- Shell脚本学习第五天——算术运算符
- Linux--shell脚本之正则表达式
- Linux--shell脚本之正则表达式
- shell脚本学习笔记 (正则表达式)
- Shell脚本学习-正则表达式&&grep
- linux学习第五天
- shell 脚本-正则表达式
- linux shell学习笔记--正则表达式
- Linux重新学习--shell--正则表达式
- shell脚本regex正则表达式
- shell脚本:正则表达式-初
- shell脚本的正则表达式
- Linux shell脚本之 Sed 简介 正则表达式
- Linux命令行与shell脚本(17)--正则表达式
- Linux下shell脚本编程之正则表达式
- shell脚本学习:快速理解正则表达式之grep篇
- 创建第一个 local network(I) - 每天5分钟玩转 OpenStack(80)
- Netty解决粘包问题(1) 自定义分隔符
- 半年总结-2016-8-30 23:19:19
- APP开发实战139-APP测试
- 什么是POP3、SMTP和IMAP?
- Linux 运维学习第五天-正则表达式及shell脚本
- 博弈综合
- 【LeetCode-136】Single Number(C++)
- 融云--IMKit 自定义会话界面
- 应用开发的两种沉浸模式
- Photoshop文字特效——水晶立体效果文字
- CPL DPL RPL的区别 &&一致性代码段和非一致性代码段
- 合格程序员七大基本素质与五大必备能力
- 5种字符串拼接方法效率的测试