一、shell基础(正则表达式)
1、正则表达式用来匹配字符串的,比如要找4条腿的,就匹配所有4条腿的,如果要加规则,范围就越来越小了,也就是写一串规则匹配某一类事物
2、grep命令
-n 显示行号 举例:grep ‘root’ –n | etc/passwd
-o只显示结果
-q判断这条命令是否执行成功,根据echo $?判断上一条命令是否执行成功,成功是0,不成功非0
-r递归的过滤目录下的文件是否包含某一个名字(比如:文件里是否包含有root的文件名)
-A匹配行及其后n行一起打印出来
-B匹配行及其前n行一起打印出来
-C匹配行及其前后n行一起打印出来
-i忽略大小写
-v取反,过滤掉的意思
-w匹配单词
3、正则介绍
^ 行首
$ 行尾
. 除了换行符以外的任意单个字符
* 前导字符的零个或多个
.* 所有字符
[] 字符组内的任一字符
[^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)
^[^] 非字符组内的字符开头的行
[a-z] 小写字母
[A-Z] 大写字母
[a-Z] 小写和大写字母
[0-9] 数字
二、变量
1、程序的运行本质是状态的变化,变是一个变化的过程,量是计量衡量,反应状态的变化
2、规则:以字母或下划线开头,剩下的部分可以是:字母、数字、下划线.
举例:
age=50 age=80 echo $age 变量分成3部分,变量名、等号、变量值
解析:变量名要有自己的意思,变量值可以是数字也可以是字符串
3、系统变量
Env——查看系统变量,set——查看所有的变量,unset——取消变量
PATH——查看环境变量的路径 LANG—— 查看当前语言 export——定义全局变量(只在当前终端有效)
4、关系操作
(())——做数字之间的比较
<——小于
>——大于
<=——小于等于
>=——大于等于
==——判断2个字符是否相同
!=——不等于
&&=——逻辑与,只有a执行成功后才会执行b
||——逻辑或,不管a是否执行成功都会执行b