当前位置:网站首页>Shell programming core technology II
Shell programming core technology II
2022-07-04 19:24:00 【Wu_ Candy】
Continue to share today Shell Programming core technology related knowledge , Let's continue with yesterday's content .
“ Shell Programming core technology 《 One 》” Students who haven't read this article , Please go to the official account to make up your classes ~ All right. , Start today's article sharing .
1
Use of special symbols
for example : Input x=(echo abc) The instruction sets the string abc Deposit in x variable , Enter echo x Instructions , You'll see
Another thing to note is the sequence , such as We want to get from 1~10 Get a sequence , You can enter echo {1..10} Command to print 1~10 The number of .
just so so Use seq 1 10, They are equivalent .
2
Variable type
stay Shell Variable types are not distinguished in , This and Python It's like , All variables are basic types , Only do dynamic parsing at runtime . Where the string 、 Numbers 、 Boolean is commonly used .
First, the string , Strings are often used for something like pinching 、 Decapitation 、 Replacement operation , You can practice by yourself after class , There is no more specific demonstration here .
Then Boolean types , The basic form of Boolean is true and false, It is important to note that in Shell There is a special usage in , If a command returns 0, It means that this process is working normally .
for example : Input ls /tmp/hello.txt ;echo $? Instructions , You can see that the return value is 0, Indicates that the process is running correctly , If other values are returned, it means that the process is running incorrectly .
for example : Input ls /tmp/hello.txtaaa ;echo $? Instructions Run a nonexistent file , Output is 1 Indicates a running error .
3
Judge
Judgment mainly includes arithmetic judgment , Logical judgment of and or not , Some more Shell There are three aspects of judgment built in . First, let's look at arithmetic judgment , Usually, arithmetic judgment can be used to compare the relationship between two variables , For example, the size of two numbers is compared , String matching relationship , wait .
In addition to simple conditional judgment ,Shell It also supports complex and 、 or 、 Illogical judgment .
besides ,Shell Some built-in judgments are also provided , such as :
- -e file Indicates if the file exists , The result is true ;
- -d file Indicates if the file is a subdirectory , The result is true ;
- -f file Indicates if the file is an ordinary file , The result is true ;
- -r file Indicates if the file is readable , The result is true ;
- -s file Indicates if the length of the file is not 0, The result is true ;
- -w file Indicates if the file is writable , The result is true ;
- -x file Indicates if the file is executable , The result is true .
Because arrays are not often used , No more details here , If you are interested, you can practice by yourself after class .
4
Logic control
After learning the relevant knowledge of variables , We continue to learn logic control , Some logic can be designed based on data , As shown below :
- conditional if;
- Branch judgment case、select, Different treatments are carried out according to different conditions ;
- loop for、while、until;
- break and continue, Exit loop .
You can see the whole logic control and Python It's very similar .
5
if Judge
Take a look first if conditional ,if First, check whether the judgment condition is true , If so, execute then Logic within a statement block ,else Execute the logic that the judgment is not tenable , also elif…if…, It is similar to Python, When the conditions are not met, judge the next condition .
6
for loop
And then there was for loop ,for The cycle is Shell There are two uses in . The first usage is similar Java or Python , from 1~10 Cycle through , It can be used at this time for((i=0;i<10;i++)) Realization , This usage is a judgment of the exact number of cycles based on the cardinality .
The second usage is for Traversal cycle , You can use for…in… Sentence block .
for example : Input for i in (seq 1 3 10) Instructions , And then in do Print in the statement block echo i Value ,do Statement block to done end .
You can see the print 1、4、7、10, This is for Use of loop traversal .
7
while loop
And finally while loop , and for The loop is very similar ,while First, judge the conditions , The condition holds in do Execute the operation in the statement block .
for example : Definition i=0, Then input while ((i<3));do((i=i+1));sleep 1;echo $i;done Instructions .
You can see , Output results every 1 Print one per second i Value , and i The value of increases gradually , Until it's equal to 3 The condition is no longer satisfied , Exit loop .
and while There is also a very common function , Namely adopt while read line Loop through every line of the file .
for example : Input while read line;do echo $line;done< /tmp/hello.txt Instructions , It will print out every line of information in the file .
besides , It is also possible to use pipes , Input cat /tmp/hello.txt | while read line;do echo $line;done Instructions , The output effect is the same .
8
Out of control
And there are some complex conditions that need to exit in time , At this time, we need to master the statements that control exit , such as :
- return The function returns ;
- exit The script process exits ;
- break Exit the current loop ;
- continue Jump out of current loop , Enter next cycle .
Friendship tips :“ The way of immeasurable testing ” Original works , Welcome to exchange , It is forbidden for a third party to reprint the article without displaying its source .
边栏推荐
- Learning path PHP -- phpstudy "hosts file does not exist or is blocked from opening" when creating the project
- 使用SSH
- LM10丨余弦波动顺势网格策略
- The latest progress of Intel Integrated Optoelectronics Research promotes the progress of CO packaging optics and optical interconnection technology
- In flinksql, in addition to data statistics, is the saved data itself a state
- IBM WebSphere MQ检索邮件
- 测试工程师如何“攻城”(下)
- [uniapp] uniapp development app online Preview PDF file
- Pytest 可视化测试报告之 Allure
- Download the first Tencent technology open day course essence!
猜你喜欢

Scala基础教程--17--集合

英特尔集成光电研究最新进展推动共封装光学和光互连技术进步

2022CoCa: Contrastive Captioners are Image-Text Fountion Models

Scala基础教程--19--Actor

物联网应用技术的就业前景和现状

Mxnet implementation of googlenet (parallel connection network)

Nature microbiology | viral genomes in six deep-sea sediments that can infect Archaea asgardii

Wireshark网络抓包

LeetCode第300场周赛(20220703)

Wanghongru research group of Institute of genomics, Chinese Academy of Agricultural Sciences is cordially invited to join
随机推荐
The difference and usage between substr (), slice (), and substring () in the string interception methods of "understand series after reading"
Shell 编程核心技术《三》
用实际例子详细探究OpenCV的轮廓绘制函数drawContours()
2014合肥市第三十一届青少年信息学奥林匹克竞赛(小学组)试题
添加命名空间声明
Scala basic tutorial -- 18 -- set (2)
Build your own website (15)
信息学奥赛一本通 1336:【例3-1】找树根和孩子
LeetCode第300场周赛(20220703)
指定输出的字符集
【机器学习的数学基础】(一)线性代数(Linear Algebra)(上+)
大佬们,求助一下,我用mysql cdc 2.2.1(flink 1.14.5)写入kafka,设置
Perfect JS event delegation
.NET ORM框架HiSql实战-第二章-使用Hisql实现菜单管理(增删改查)
One question per day (2022-07-02) - Minimum refueling times
Technology sharing | interface testing value and system
问下各位大佬有用过cdc直接mysql to clickhouse的么
Scala基础教程--19--Actor
My colleagues quietly told me that flying Book notification can still play like this
模板_大整数减法_无论大小关系