当前位置:网站首页>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
边栏推荐
- 图像处理工具包ImagXpress使用教程,如何查看事件
- Erd-online free online database modeling tool
- How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?
- 应用层软件开发教父教你如何重构,资深程序员必备专业技能
- [graffiti Internet of things footprints] panoramic introduction of graffiti cloud platform
- 三步轻松理解Kerberos协议
- Design of NAND flash interface control
- pc端与移动端适配解决方案之rem
- confd
- Cloudquery v1.2.0 release
猜你喜欢
List to map (split the list according to the key, and the value of the same key is a list)
条形码识别器Dynamsoft Barcode Reader v7.5全新上线!
.NETCore3.1+ Vue.js Low code workflow engine
Design of NAND flash interface control
#JVM 类加载机制
[graffiti Internet of things footprints] panoramic introduction of graffiti cloud platform
如何创建交互式内核密度图表
Nodejs中使用jsonwebtoken(JWT)生成token的场景使用
轻量型 GPU 应用首选 京东智联云推出 NVIDIA vGPU 实例
JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
随机推荐
“非洲用户的付费意愿并不低”——专访四达时代研发总监张亮
Big data processing black Technology: revealing the parallel computing technology of Pb level data warehouse gaussdb (DWS)
cubemx做stm32 USB开发
pc端与移动端适配解决方案之rem
Characteristics of magnetic memory chip STT-MRAM
小程序商城系统插件代码该如何写?怎么用代码检查添加插件是否成功?
The memorandum model of behavior model
Python 3 operates the Jenkins module API
win7如何快速打cmd并到达所要的目录
September 9, 2020: naked writing algorithm: two threads print numbers 1-100 in turn.
Cloudquery v1.2.0 release
ado.net and asp.net The relationship between
QT audio and video development 46 video transmission UDP version
大佬们如何在nginx镜像里面增加模块?
2020-11-06: go, let's talk about the scheduler.
8.Swarm创建维护和水平扩展Service
Empty test suite appears in JUnit test
python3操作gitlab
实验一
k-vim安装及The ycmd server SHUT DOWN (restart with ':YcmRestartServer')这种错误的解决方法