当前位置:网站首页>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
边栏推荐
- Do you really know how to use search engines?
- How to use Gantt chart layers and filters
- Introduction to Jenkins (2) declarative pipeline
- 轻量型 GPU 应用首选 京东智联云推出 NVIDIA vGPU 实例
- Common mathematical basic formulas of recursive and backtracking algorithms
- Erd-online free online database modeling tool
- 三步轻松理解Kerberos协议
- 条形码识别性能低,如何优化Dynamsoft Barcode Reader解码性能
- 8.Swarm创建维护和水平扩展Service
- 2020-11-06: go, let's talk about the scheduler.
猜你喜欢
Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
#JVM 类加载机制
FreeSWITCH视频会议“标准”解决方案
How to solve the problem of blank page in Google Chrome browser
ado.net and asp.net The relationship between
小程序商城系统插件代码该如何写?怎么用代码检查添加插件是否成功?
Git SSH bad permissions
Experiment one
Composition of MRAM cache
JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
随机推荐
8. Swarm creates maintenance and horizontal extension service
STlink下载出现st-link usb communication error解决方法
南京标志设计,logo设计公司
你真的会使用搜索引擎吗?
Reserved battery interface, built-in charge and discharge circuit and electricity meter, quickly help easily handle hand-held applications
2020-11-06: go, let's talk about the scheduler.
Yum [errno 256] no more mirrors to try solution
Epu360: all the H5 templates you want are here, e-book, big turntable, red envelope rain, questionnaire survey
Git remote library rollback specified version
The memorandum model of behavior model
August 24, 2020: what are small documents? What's wrong with a lot of small files? How to solve many small files? (big data)
The advantages and functions of psychological counseling app
Plug in bilibilibili new version 0.5.5
.NETCore3.1+Vue.js打造的低代码工作流引擎
Introduction to Jenkins (2) declarative pipeline
September 3, 2020: naked writing algorithm: loop matrix traversal.
高速公路二维码定位报警系统
2020-08-29: process thread differences, in addition to the inclusion relationship, the underlying details?
Detailed software engineering -- the necessary graphs in each stage
Application of UHF RFID medical blood management system