当前位置:网站首页>RECH8.0版本学习 days 12 rh134部分
RECH8.0版本学习 days 12 rh134部分
2020-11-07 16:49:00 【叛乱的影子1992】
编写间的BASH脚本
bash shell 脚本第一行开头如下: #!/bin/bash
创建完shell脚本,需要用chmod 命令添加可执行权限,也有肯能与chown命令组合更改脚本的文件所有权。仅为脚本的目标用户授予执行权限。
对特殊字符加引号,三种工具来取消或转义特殊含义:反斜杠(\)、单引号('')、双引号("")。
反斜杠转义字符可以取消紧跟在它后面的单个字符的特殊含义。示例:

当需要转义文本字符串中的多个字符时,可以采用单引号('')。单引号保留其包括起的所有字符的字面含义。:
![]()
使用双引号可以阻止通配和shell扩展,但依然允许命令和变量替换。变量替换在概念上命令替换一样

echo命令在shell脚本中被广泛用来显示信息和错误消息。
shell中的循环
bash的for循环结构 使用一下语法。
for VARIABLE in LTST; do
COMMAND VARIABLE
done
其中小写部分是固定不变的。VARIABLE 是变量名,COMMAND VARIABLE表示引用变量的命令块。
在脚本中使用退出代码
使用exit命令。当脚本遇到exit命令时,脚本立即退出且不会对脚本的其余内容进行处理。
可以整数参数(可选的,0-255之间,表示退出代码)来执行exit命令。退出代码传回父进程,将它存储在?变量中,可以通过$?进行访问。
条件结构
if/then结构语法如下:

还有if/then/else结构:


还有if/then/elif/then/else结构

使用正则表达式匹配命令输出中的文本
vim、grep和less命令都可以使用正则表达式。
最简单的完全匹配,即正则表达式中的字符与正在搜索的数据中的类型和顺序均匹配,即为完全匹配。
匹配行首和行尾,要在行首搜索,使用脱字符(^)。要在行尾搜索,使用美元符号($)。
正则表达式使用句点(。)或点(.)来匹配换行符之外的任何单个字符。c.t将搜索包含c加任何单个字符和t的字符串。
c[aou]t会匹配:以c开头,后面跟着a或o或u,然后是t,即cat、cot、cut。
倍数同常与通配符一起使用的机制。倍数应用到正在表达式中的前一位字符,更为常用的倍数之一是星号(*)。
c*t,匹配任何以c开头,后面跟着零个或多个字符,最后以t结尾的数据。
另一类型的倍数将会指示模式中前面字符的期望个数。‘c.\{2\}t’是使用显示倍数的一个示例,它匹配以c开头,后面跟任意字符串,最后以t结尾的任何词语。
正则表达式
| 选项 | 描述 |
| . | 句点(.)匹配任何单个字符。 |
| ? | 前面的项目是可选的,且最多匹配一次。 |
| * | 前面的项目将匹配零次或多次。 |
| + | 前面的项目将匹配一次或多次。 |
| {n} | 前面的项目恰好匹配n次。 |
| {n,} | 前面的项目匹配n次或更多次。 |
| {,m} | 前面的项目最多匹配m次。 |
| {n,m} | 前面的项目至少匹配n次,但不超过m次。 |
| [:alnum:] | 字母数字字符:‘[:alpha:]’和‘[:digit:]’;在'C'语言环境和ASCII字符编码中,它等同于‘[0-9A-Za-z]’ |
| [:alpha:] | 字母字符:‘[:lower:]’和'[:upper:]';在'C'语言环境和ASCII字符编码中,它等同于‘[A-Za-z]’。 |
| [:blank:] | 空白字符:空格和制表符。 |
| [:cntrl:] | 控制字符。在ASCII中,这些字符对应八进制代码000到037和177(DEL)。在其他字符集中,他们为对等字符。 |
| [;digit;] | 数字:0 1 2 3 4 5 6 7 8 9 。 |
| [;graph;] | 图像字符:‘[:alnum:]’和'[:punct:]'。 |
| [:lower:] | 小写字母;在”C“语言环境和ASCII字符编码中,它对应于 a b c d e f g h i j k l m n o p q r s t u v w x y z。 |
| [:print:] | 可打印字符:‘[:alnum:]’、'[:punct:]'和空格。 |
| [:punct:] | 标点符号;在”C“语言环境和ASCII字符编码中,它对应于!” # $ %&'()*+,-./:;<=>?@[\]^'{|}~。 |
| [:space:] | 空格字符; |
| [:upper:] | 大写字母 |
| [:xdigit:] | 16进制数字: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f 。 |
| \b | 匹配词语两侧的空字符串。 |
| \B | 匹配词语中间的空字符串。 |
| \< | 匹配词语开头的空字符串。 |
| \> | 匹配词语末尾的空字符串。 |
| \w | 匹配词语组分 |
| \W | 匹配非词语组分 |
| \s | 匹配空格 |
| \S | 匹配非空格。 |
使用grep命令匹配正则表达式
竖线运算符(|),grep命令可与其他命令一起使用。示例:

常见grep选项表
| 选项 | 功能 |
| -i | 使用所提供的正则表达式,但不会强制区分大小写。 |
| -v | 仅显示不包含正则表达式匹配项的行。 |
| -r | 将递归地匹配正则表达式的数据搜索应用到一组文件或目录中。 |
| -A number | 显示正则表达式匹配项之后的行数。 |
| -B number | 显示正则表达式匹配项之前的行数。 |
| -e | 可以提供多个正则表达式,并将与逻辑OR一起使用。 |
版权声明
本文为[叛乱的影子1992]所创,转载请带上原文链接,感谢
https://my.oschina.net/sign/blog/4707607
边栏推荐
- confd
- [learning] interface test case writing and testing concerns
- win7 APPCRASH(解决方法)(转)
- Three steps to understand Kerberos Protocol easily
- 汽车维修app开发的好处与功能
- Stm32f030k6t6 compatible replacement smart mm32f031k6t6
- Logo design company, Nanjing
- Erd-online free online database modeling tool
- 2020-09-04: do you understand the function call convention?
- VARCHART XGantt如何在日历上表示工作日
猜你喜欢

STlink下载出现st-link usb communication error解决方法

PHP后门隐藏技巧

The advantages and functions of psychological counseling app

Common mathematical basic formulas of recursive and backtracking algorithms

Method of code refactoring -- Analysis of method refactoring

How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?

你真的会使用搜索引擎吗?

Nonvolatile MRAM memory used in all levels of cache

1万辆!理想汽车召回全部缺陷车:已发生事故97起,亏损将扩大

Benefits and functions of auto maintenance app development
随机推荐
移动端像素适配方案
8. Swarm creates maintenance and horizontal extension service
August 30, 2020: naked write algorithm: the nearest common ancestor of two nodes in a binary tree.
PHP后门隐藏技巧
测试攻城狮必备技能点!一文带你解读DevOps下的测试技术
甘特图对活动进行分组教程
Detailed software engineering -- the necessary graphs in each stage
Three steps to understand Kerberos Protocol easily
南京标识标牌设计制作,导视VI系统设计
Jenkins pipline stage setting timeout
Big data processing black Technology: revealing the parallel computing technology of Pb level data warehouse gaussdb (DWS)
VARCHART XGantt如何在日历上表示工作日
idea 激活到 2089 失效
JVM class loading mechanism
Cloudquery v1.2.0 release
图像处理工具包ImagXpress使用教程,如何查看事件
Js字符串-String字符串对象方法
PHP backdoor hiding skills
小程序商城系统插件代码该如何写?怎么用代码检查添加插件是否成功?
Application layer software development Godfather teaches you how to refactor, senior programmers must professional skills