当前位置:网站首页>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 .
边栏推荐
- DeFi生态NFT流动性挖矿系统开发搭建
- 小发猫物联网平台搭建与应用模型
- 2022年字节跳动日常实习面经(抖音)
- One question per day (2022-07-02) - Minimum refueling times
- The latest progress of Intel Integrated Optoelectronics Research promotes the progress of CO packaging optics and optical interconnection technology
- 启牛开的证券账户安全吗?
- SSL证书续费相关问题详解
- 国元期货是正规平台吗?在国元期货开户安全吗?
- 【机器学习的数学基础】(一)线性代数(Linear Algebra)(上+)
- [发布] 一个测试 WebService 和数据库连接的工具 - DBTest v1.0
猜你喜欢

My colleagues quietly told me that flying Book notification can still play like this

The latest progress of Intel Integrated Optoelectronics Research promotes the progress of CO packaging optics and optical interconnection technology

神经网络物联网应用技术就业前景【欢迎补充】

Torchdrug tutorial

DeFi生态NFT流动性挖矿系统开发搭建

2022 ByteDance daily practice experience (Tiktok)
redis分布式锁的8大坑总结梳理

从实时应用角度谈通信总线仲裁机制和网络流控

Scala basic tutorial -- 18 -- set (2)

Scala基础教程--16--泛型
随机推荐
Qt实现界面滑动切换效果
Unity editor extends C to traverse all pictures in folders and subdirectories
1672. 最富有客户的资产总量
Angry bird design based on unity
Caché WebSocket
Nebula importer data import practice
C语言打印练习
Torchdrug tutorial
Unity adds a function case similar to editor extension to its script, the use of ContextMenu
关于判断点是否位于轮廓内的一点思考
ftp、sftp文件传输
[uniapp] uniapp development app online Preview PDF file
正则替换【JS,正则表达式】
Leetcode fizzbuzz C # answer
大佬们,求助一下,我用mysql cdc 2.2.1(flink 1.14.5)写入kafka,设置
IBM WebSphere MQ retrieving messages
IBM WebSphere MQ检索邮件
【机器学习的数学基础】(一)线性代数(Linear Algebra)(上+)
更安全、更智能、更精致,长安Lumin完虐宏光MINI EV?
The kth largest element in the array