当前位置:网站首页>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
边栏推荐
- 甘特图对活动进行分组教程
- Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
- Do you really know how to use search engines?
- Plug in bilibilibili new version 0.5.5
- Introduction to Jenkins (2) declarative pipeline
- PHP后门隐藏技巧
- cubemx做stm32 USB开发
- 小程序商城系统插件代码该如何写?怎么用代码检查添加插件是否成功?
- New features of vue3
- Stm32f030k6t6 compatible replacement smart mm32f031k6t6
猜你喜欢
.NETCore3.1+Vue.js打造的低代码工作流引擎
如何解决谷歌Chrome浏览器空白页的问题
Jenkins installation and deployment process
Getting started with varhart xgantt
Stm32f030f4p6 compatible with smart micro mm32f031f4p6
2020-08-15: under what circumstances should data tasks be optimized?
The first choice for lightweight GPU applications is the NVIDIA vgpu instance launched by Jingdong Zhilian cloud
August 14, 2020: what are the execution engines for data tasks?
Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
2020年新规,微信封号怎么快速解除?
随机推荐
Getting started with varhart xgantt
How to solve the problem of blank page in Google Chrome browser
Google browser realizes video playback acceleration function
Stm32f030k6t6 compatible replacement smart mm32f031k6t6
The memorandum model of behavior model
2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
Nodejs中使用jsonwebtoken(JWT)生成token的场景使用
Configuration of AP hotspot on xunwei-imx6ull development board
Epu360: all the H5 templates you want are here, e-book, big turntable, red envelope rain, questionnaire survey
甘特图对活动进行分组教程
git 提交规范
yum [Errno 256] No more mirrors to try 解决方法
20 XR projects roadshows, nearly 20 capital institutions attended! We sincerely invite you to attend the 2020 qcomm XR eco Partner Conference
实验一
JVM class loading mechanism
失眠一个整晚上
Git SSH bad permissions
Windows 10 Bluetooth management page 'add Bluetooth or other devices' option click no response solution
汽车维修app开发的好处与功能
条形码识别性能低,如何优化Dynamsoft Barcode Reader解码性能