当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- Google browser realizes video playback acceleration function
- Stm32f030k6t6 compatible replacement smart mm32f031k6t6
- ImageMagick - 添加水印
- 2020-09-04: do you understand the function call convention?
- 2020-08-20: the difference between go and python?
- 傲視Kubernetes(一):Kubernetes簡介
- 大佬们如何在nginx镜像里面增加模块?
- August 30, 2020: naked write algorithm: the nearest common ancestor of two nodes in a binary tree.
- Git submission specification
- 如何才能快速正确的部署甘特图
猜你喜欢
8. Swarm creates maintenance and horizontal extension service
Win7 AppCrash (solution)
Benefits and functions of auto maintenance app development
Nanjing logo design and production, guide VI system design
Git submission specification
How to use Gantt chart layers and filters
Do you really know how to use search engines?
南京标识标牌设计制作,导视VI系统设计
How to deploy Gantt chart quickly and correctly
Developing STM32 USB with cubemx
随机推荐
Introduction to Jenkins (2) declarative pipeline
And how to solve the conflict between pop-up menu and pop-up menu
【原創】ARM平臺記憶體和cache對xenomai實時性的影響
How to optimize the decoding performance of dynamsoft barcode reader
Two dimensional code location and alarm system of Expressway
10000! Ideal car recalls all defective cars: 97 accidents have occurred and losses will be expanded
K-vim installation and the ycmd server shut down (restart with ': ycmrestartserver')
Test the necessary skill points of siege lion! This article takes you to interpret the testing technology under Devops
Utility class functions (continuous update)
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
VARCHART XGantt如何在日历上表示工作日
Experiment one
条形码识别性能低,如何优化Dynamsoft Barcode Reader解码性能
插件Bilibili新版0.5.5
confd
Dynamsoft barcode reader v7.5!
Application layer software development Godfather teaches you how to refactor, senior programmers must professional skills
LEADTOOLS如何检测,读取和写入条形码
大佬们如何在nginx镜像里面增加模块?
JVM class loading mechanism