当前位置:网站首页>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
边栏推荐
- QT audio and video development 46 video transmission UDP version
- 如何创建交互式内核密度图表
- win7如何快速打cmd并到达所要的目录
- 如何才能快速正确的部署甘特图
- Es create a new index database and copy the old index library, practice pro test effective!
- Getting started with varhart xgantt
- Erd-online free online database modeling tool
- 8.Swarm创建维护和水平扩展Service
- 10000! Ideal car recalls all defective cars: 97 accidents have occurred and losses will be expanded
- 大佬们如何在nginx镜像里面增加模块?
猜你喜欢
[graffiti Internet of things footprints] panoramic introduction of graffiti cloud platform
August 24, 2020: what are small documents? What's wrong with a lot of small files? How to solve many small files? (big data)
Mobile pixel adaptation scheme
实验一
2020-08-17: how to solve data skew in detail?
Utility class functions (continuous update)
Stm32f030c6t6 compatible to replace mm32spin05pf
Characteristics of magnetic memory chip STT-MRAM
image operating system windows cannot be used on this platform
Git remote library rollback specified version
随机推荐
南京标识标牌设计制作,导视VI系统设计
VARCHART XGantt入门教程
The Interpreter pattern of behavior pattern
August 24, 2020: what are small documents? What's wrong with a lot of small files? How to solve many small files? (big data)
PHP后门隐藏技巧
Big data processing black Technology: revealing the parallel computing technology of Pb level data warehouse gaussdb (DWS)
K-vim installation and the ycmd server shut down (restart with ': ycmrestartserver')
image operating system windows cannot be used on this platform
失眠一个整晚上
Jenkins installation and deployment process
RFID fixed assets management system for fire equipment
VARCHART XGantt如何在日历上表示工作日
如何创建交互式内核密度图表
The essence of transaction and the principle of deadlock
JS string - string string object method
插件Bilibili新版0.5.5
How to create an interactive kernel density chart
大佬们如何在nginx镜像里面增加模块?
如何解决谷歌Chrome浏览器空白页的问题
vue3 新特性