当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- 关于DevOps的七大误解,99%的人都曾中过招!
- How does LeadTools detect, read and write barcodes
- Points to be considered when deleting mapping field of index in ES
- Three steps to understand Kerberos Protocol easily
- 20 XR projects roadshows, nearly 20 capital institutions attended! We sincerely invite you to attend the 2020 qcomm XR eco Partner Conference
- Nanjing logo design and production, guide VI system design
- yum [Errno 256] No more mirrors to try 解决方法
- Bluetooth broadcast chip for Shanghai giant micro
- 应用层软件开发教父教你如何重构,资深程序员必备专业技能
- How to add modules to nginx image?
猜你喜欢
How does varhart xgantt represent working days on a calendar
CI / CD of gitlab continuous integrated development environment
Python3 operating gitlab
11.Service更新
10000! Ideal car recalls all defective cars: 97 accidents have occurred and losses will be expanded
7. Swarm builds clusters
k-vim安装及The ycmd server SHUT DOWN (restart with ':YcmRestartServer')这种错误的解决方法
聊聊先享後付
pc端与移动端适配解决方案之rem
Reserved battery interface, built-in charge and discharge circuit and electricity meter, quickly help easily handle hand-held applications
随机推荐
QT audio and video development 46 video transmission UDP version
频收罚单的浦发银行:增收不增利,曾遭骗贷数亿元,内控缺位?
2020-09-04: do you understand the function call convention?
How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?
About Devops seven misunderstandings, 99% of people have been hit!
Nanjing logo design and production, guide VI system design
【笔记】Error while loading PyV8 binary: exit code 1解决方法
一种超参数优化技术-Hyperopt
Reserved battery interface, built-in charge and discharge circuit and electricity meter, quickly help easily handle hand-held applications
VARCHART XGantt入门教程
【原創】ARM平臺記憶體和cache對xenomai實時性的影響
甘特图对活动进行分组教程
Using JSON webtoken (JWT) to generate token in nodejs
大佬们如何在nginx镜像里面增加模块?
2020-08-17: how to solve data skew in detail?
August 18, 2020: introduce Mr process?
Windows 10 Bluetooth management page 'add Bluetooth or other devices' option click no response solution
RFID fixed assets management system for fire equipment
抽絲剝繭——門面和調停者設計模式
Design of NAND flash interface control