当前位置:网站首页>Rech8.0 learning days 12 rh134
Rech8.0 learning days 12 rh134
2020-11-07 16:49:00 【The shadow of rebellion 1992】
Writing room BASH Script
bash shell The first line of the script begins with : #!/bin/bash
Created shell Script , Need to use chmod Command to add executable permissions , There are also willing to be with chown Command combination changes the file ownership of the script . Grant execute permission only to the target user of the script .
Quote special characters , Three tools to cancel or escape special meanings : The backslash (\)、 Single quotation marks ('')、 Double quotes ("").
The backslash escape character removes the special meaning of the single character immediately following it . Example :

When you need to escape multiple characters in a text string , You can use single quotation marks (''). A single quotation mark retains the literal meaning of all characters it contains .:
![]()
Using double quotation marks can prevent generic matching and shell Expand , But it still allows command and variable substitution . Variable substitution is conceptually the same as command substitution

echo Command in shell Scripts are widely used to display information and error messages .
shell The cycle in
bash Of for Loop structure Use the grammar .
for VARIABLE in LTST; do
COMMAND VARIABLE
done
The lower case part is fixed .VARIABLE Is a variable name. ,COMMAND VARIABLE A command block that represents a reference variable .
Use exit code in scripts
Use exit command . When the script encounters exit On command , The script exits immediately and does not process the rest of the script .
It can be an integer parameter ( Optional ,0-255 Between , Indicates the exit code ) To execute exit command . The exit code is returned to the parent process , Store it in ? variable , Can pass $? Visit .
Conditional structure
if/then The structural grammar is as follows :

also if/then/else structure :


also if/then/elif/then/else structure

Use regular expressions to match text in command output
vim、grep and less All commands can use regular expressions .
The simplest perfect match , That is, the characters in the regular expression match the type and order of the data being searched , It's a perfect match .
Match the beginning and end of a line , Search at the beginning of the line , Use the caret (^). Search at the end of the line , Use the dollar sign ($).
Regular expressions use periods (.) Or point (.) To match any single character other than a newline character .c.t Include the search for c Add any single character and t String .
c[aou]t Will match : With c start , Follow behind a or o or u, And then there was t, namely cat、cot、cut.
A mechanism that is often used with wildcards . The multiple is applied to the previous character in the expression , One of the more common multiples is the asterisk (*).
c*t, Match anything with c start , Followed by zero or more characters , Finally t Data at the end .
Another type of multiple will indicate the expected number of preceding characters in the pattern .‘c.\{2\}t’ Is an example of using display multiples , It matches with c start , Followed by any string , Finally t Any words at the end .
Regular expressions
| Options | describe |
| . | Period (.) Match any single character . |
| ? | The front item is optional , And match at most once . |
| * | The previous items will match zero or more times . |
| + | The previous items will match one or more times . |
| {n} | The front item just matches n Time . |
| {n,} | The front item matches n Times or more . |
| {,m} | The front items match at most m Time . |
| {n,m} | The front items at least match n Time , But not more than m Time . |
| [:alnum:] | Alphanumeric character :‘[:alpha:]’ and ‘[:digit:]’; stay 'C' Language environment and ASCII In character encoding , It is equivalent to ‘[0-9A-Za-z]’ |
| [:alpha:] | Alphabetic character :‘[:lower:]’ and '[:upper:]'; stay 'C' Language environment and ASCII In character encoding , It is equivalent to ‘[A-Za-z]’. |
| [:blank:] | Blank character : Spaces and tabs . |
| [:cntrl:] | Control characters . stay ASCII in , These characters correspond to octal code 000 To 037 and 177(DEL). In other character sets , They are equivalent characters . |
| [;digit;] | Numbers :0 1 2 3 4 5 6 7 8 9 . |
| [;graph;] | Image characters :‘[:alnum:]’ and '[:punct:]'. |
| [:lower:] | Lowercase letters ; stay ”C“ Language environment and ASCII In character encoding , It corresponds to 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:] | Printable characters :‘[:alnum:]’、'[:punct:]' And Spaces . |
| [:punct:] | Punctuation ; stay ”C“ Language environment and ASCII In character encoding , It corresponds to !” # $ %&'()*+,-./:;<=>?@[\]^'{|}~. |
| [:space:] | Space character ; |
| [:upper:] | Capital |
| [:xdigit:] | 16 Hexadecimal Numbers : 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f . |
| \b | Matches the empty string on both sides of the word . |
| \B | Matches an empty string in the middle of a word . |
| \< | Matches the empty string at the beginning of the word . |
| \> | Matches the empty string at the end of the word . |
| \w | Match word components |
| \W | Match non word components |
| \s | Match spaces |
| \S | Match non spaces . |
Use grep The command matches the regular expression
The vertical line operator (|),grep Commands can be used with other commands . Example :

common grep List of options
| Options | function |
| -i | Use the provided regular expression , But it doesn't force case sensitivity . |
| -v | Show only lines that do not contain regular expression matches . |
| -r | Apply a data search that recursively matches a regular expression to a set of files or directories . |
| -A number | Shows the number of lines after a regular expression match . |
| -B number | Shows the number of lines before a regular expression match . |
| -e | You can provide multiple regular expressions , And will be associated with logic OR Use it together . |
版权声明
本文为[The shadow of rebellion 1992]所创,转载请带上原文链接,感谢
边栏推荐
- Logo design company, Nanjing
- Jenkins pipline stage setting timeout
- 一种超参数优化技术-Hyperopt
- Mobile pixel adaptation scheme
- How to create an interactive kernel density chart
- WebAPI接口设计:SwaggerUI文档 / 统一响应格式 / 统一异常处理 / 统一权限验证
- Python 3 operates the Jenkins module API
- How to use Gantt chart layers and filters
- Gantt chart grouping activities tutorial
- 嘉宾专访|2020 PostgreSQL亚洲大会中文分论坛:岳彩波
猜你喜欢

关于DevOps的七大误解,99%的人都曾中过招!

September 3, 2020: naked writing algorithm: loop matrix traversal.

使用RabbitMQ实现分布式事务

Gantt chart grouping activities tutorial

测试攻城狮必备技能点!一文带你解读DevOps下的测试技术

11.Service更新

Git submission specification

Web API interface design: swaggerui document / unified response format / unified exception handling / unified authority verification

失眠一个整晚上

如何解决谷歌Chrome浏览器空白页的问题
随机推荐
August 14, 2020: what are the execution engines for data tasks?
Yum [errno 256] no more mirrors to try solution
September 3, 2020: naked writing algorithm: loop matrix traversal.
20 XR projects roadshows, nearly 20 capital institutions attended! We sincerely invite you to attend the 2020 qcomm XR eco Partner Conference
Git remote library rollback specified version
Insomnia all night
How to deploy Gantt chart quickly and correctly
K-vim installation and the ycmd server shut down (restart with ': ycmrestartserver')
.NETCore3.1+ Vue.js Low code workflow engine
图像处理工具包ImagXpress使用教程,如何查看事件
Detailed software engineering -- the necessary graphs in each stage
Logo design company, Nanjing
Mobile pixel adaptation scheme
Design of NAND flash interface control
Characteristics of magnetic memory chip STT-MRAM
gitlab 持续集成开发环境之CI/CD
2020-11-06: go, let's talk about the scheduler.
如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
The method of local search port number occupation in Windows system
Three steps to understand Kerberos Protocol easily