当前位置:网站首页>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]所创,转载请带上原文链接,感谢