【shell】Shell部分功能总结:grep,eval,continue
Date: 2018.7.7
1、参考
https://blog.csdn.net/u011003120/article/details/52185356
http://www.cnblogs.com/guosj/p/4571239.html
https://www.cnblogs.com/zhengrunjian/p/4664774.html
https://blog.csdn.net/ADDw1/article/details/74936151
http://blog.51cto.com/363918/1341977
2、grep用法
grep命令格式:
grep [options] ‘pattern’ filename
options:
1 –version or -V grep的版本
2 -A 数字N 找到所有的匹配行,并显示匹配行后N行
3 -B 数字N 找到所有的匹配行,并显示匹配行前面N行
4 -b 显示匹配到的字符在文件中的偏移地址
5 -c 显示有多少行被匹配到
6 –color 把匹配到的字符用颜色显示出来
7 -e 可以使用多个正则表达式
8 -f FILEA FILEB FILEA在FILEAB中的匹配
9 -i 不区分大小写针对单个字符
10 -m 数字N 最多匹配N个后停止
11 -n 打印行号
12 -o 只打印出匹配到的字符
13 -R 搜索子目录
14 -v 显示不包括查找字符的所有行
pattern:主要是正则表达式的使用规则。
3、shell中break,continue,exit和return用法
break
结束并退出循环
continue
在循环中不执行continue下面的代码,转而进入下一轮循环
exit
退出脚本,
常带一个整数给系统,如 exit 0
return
在函数中将数据返回
或返回一个结果给调用函数的脚本
4、shell字符串比较
比较两个字符串是否相等的办法是:
if [ "$test"x = "test"x ]; then
fi
二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.
整数比较
-eq 等于,如:if [ “$a” -eq “$b” ]
-ne 不等于,如:if [ “$a” -ne “$b” ]
-gt 大于,如:if [ “$a” -gt “$b” ]
-ge 大于等于,如:if [ “$a” -ge “$b” ]
-lt 小于,如:if [ “$a” -lt “$b” ]
-le 小于等于,如:if [ “$a” -le “$b” ]
大于(需要双括号),如:((“$a” > “$b”))
>= 大于等于(需要双括号),如:((“$a” >= “$b”))
字符串比较
= 等于,如:if [ “b” ]
== 等于,如:if [ “b” ],与=等价
注意:==的功能在[[]]和[]中的行为是不同的,如下:
[[$a == z* ]] # 如果$a以”z”开头(模式匹配)那么将为true
[[ $a == “z*” ]] # 如果$a等于z*(字符匹配),那么结果为true
[$a == z* ] # File globbing 和word splitting将会发生
[ “$a” == “z*” ] # 如果$a等于z*(字符匹配),那么结果为true
-z 字符串为”null”.就是长度为0.
-n 字符串不为”null”
5、eval
告知shell取出eval的参数,然后按照参数特性来执行。参数数目不限,彼此用分号隔开。
END!