当前位置:网站首页>Shell process control
Shell process control
2022-07-01 23:51:00 【Resound through heaven】
1 if else sentence
1.1 if grammar
# Multiple lines
if Conditions
then
command
fi
# a line
if Conditions ; then command ; fi
1.2 if else grammar
if Conditions
then
command
else
command
fi
1.3 if elif else grammar
if Conditions 1
then
command 1
elif Conditions 2
then
command 2
elif Conditions 3
then
command 3
……
else
command N
fi
1.2 demo
Tips " Please enter your test scores :" Receive users to enter a score , Then use if else Conditional sentence judgement
requirement 1: Less than 60 Output " fail, "
requirement 2: Greater than or equal to 60 also Less than 70 Output " pass "
requirement 2: Greater than or equal to 70 also Less than 80 Output " secondary "
requirement 3: Greater than or equal to 80 also Less than 90 Output " good "
requirement 4: Greater than or equal to 90 also Less than or equal to 100 Output " good "
requirement 5: The above does not conform to the output " The results are illegal "
#!/bin/bash
read -p " Please enter your examination result :" score
if ((score<60))
then
echo " fail, "
elif ((score>=60 && score<70))
then
echo " pass "
elif ((score>=70 && score<80))
then
echo " secondary "
elif ((score>=80 && score<90))
then
echo " good "
elif ((score>=90 && score<=100))
then
echo " good "
else
echo " The results are illegal "
fi
2 Built in commands :test
Shell Medium test The command is used to check if a condition holds , It can do numerical 、 Character and file testing .
2.1 grammar
if test Numbers 1 options Numbers 2
then
...
fi
options As follows :
Parameters | explain |
---|---|
-eq | Equal is true |
-ne | True if not equal |
-gt | Greater than is true |
-ge | True if greater than or equal to |
-lt | Less than is true |
-le | True if less than or equal to |
2.2 demo
#/bin/bash
num1=1 num2=1 num3=2
echo "num1=${num1},num2=${num2},num3=${num3}"
if test $num1 -eq $num2
then
echo "num1 and num2 equal "
else
echo "num1 and num2 It's not equal "
fi
if test $num3 -gt $num2
then
echo "num3 Greater than num2"
else
echo "num3 Less than num2"
fi
3 Process control :case sentence
3.1 grammar
case value in
Matching mode 1)
command 1
command 2
...
;;
Matching mode 2)
command 1
command 2
...
;;
*)
command 1
command 2
...
;;
esac
3.2 demo
#!/bin/bash
read -p " Please enter a 0-7 The number of :" number
case $number in
1)
echo " Monday "
;;
2)
echo " Tuesday "
;;
3)
echo " Wednesday "
;;
4)
echo " Thursday "
;;
5)
echo " Friday "
;;
6)
echo " Saturday "
;;
7)
echo " Sunday "
;;
*)
echo " The number you entered is invalid "
;;
esac
4 Process control :while sentence
4.1 grammar
while Conditions
do
command 1
command 2
...
continue; # End the current cycle , Enter next cycle
break; # End the current cycle
done
4.2 demo
#!/bin/bash
read -p " Please enter a number :" number
let i=1
while (( $i <= $number))
do
echo " The first ${i} Second print : hello world"
((i++))
done
5 Process control :until sentence
5.1 grammar
until Conditions
do
command
done
5.2 demo
#!/bin/bash
read -p " Please enter a number :" number
let i=1
until (( $i >= $number ))
do
echo " The first ${i} Second print :hello world"
((i++))
done
6 Process control :for sentence
6.1 grammar
for var in item1 item2 ... itemN
do
command 1
command 2
...
done
#start: The starting value of the cycle range , Must be an integer
#end: The end value of the loop range , Must be an integer
for var in {
start..end}
do
command
done
for((i=start;i<=end;i++))
do
command
done
6.2 demo
#!/bin/bash
echo "########## Circulation mode 1############"
for i in 1 2 3 4 5
do
echo " The first ${i} Second print : hello world"
done
echo "########## Circulation mode 2############"
for i in {
1..5}
do
echo " The first ${i} Second print : hello world"
done
echo "########## Circulation mode 3############"
for((i=1;i<=5;i++))
do
echo " The first ${i} Second print : hello world"
done
6.3 Wireless loop
for((;;)); do command ; done
#!/bin/bash
let i=1
for((;;))
do
echo " The first ${i} Second print : hello world"
if test $i -eq 10
then
break
fi
((i++))
done
7 Process control :select sentence
select in Loops are used to enhance interactivity , It can display numbered menus , Users can choose different menus by entering different numbers , And perform different functions . select in yes Shell A unique cycle , Very suitable for terminals (Terminal) Such an Interaction scenario , No other language ;
7.1 grammar
select var in menu1 menu2 ...
do
command
done
7.2 demo
#!/bin/bash
echo " What is your hobby ?"
select hobby in " Programming " " game " " Basketball " " swimming "
do
echo " Your chosen hobby is :${hobby}"
break
done
echo " Your hobby is : ${hobby}"
边栏推荐
- Learn online case practice
- S32Kxxx bootloader之UDS bootloader
- E-commerce RPA robot helps brand e-commerce to achieve high traffic
- . env. XXX file, with constant, but undefined
- Redis 主从同步
- 2021 robocom world robot developer competition - semi finals of higher vocational group
- Key points of security agreement
- - Oui. Env. Fichier XXX, avec constante, mais non spécifié
- Relatively easy to understand PID understanding
- 2022-07-01:某公司年会上,大家要玩一食发奖金游戏,一共有n个员工, 每个员工都有建设积分和捣乱积分, 他们需要排成一队,在队伍最前面的一定是老板
猜你喜欢
[Qt] résoudre le problème que Qt msvc 2017 ne peut pas Compiler
牛客-练习赛101-推理小丑
2021 robocom world robot developer competition - preliminary competition of higher vocational group
2021 robocom world robot developer competition - semi finals of higher vocational group
2021 RoboCom 世界机器人开发者大赛-高职组初赛
RPA教程01:EXCEL自动化从入门到实操
2021 robocom world robot developer competition - preliminary competition of undergraduate group
Door level modeling - after class exercises
Huawei HMS core joins hands with hypergraph to inject new momentum into 3D GIS
E-commerce RPA robot helps brand e-commerce to achieve high traffic
随机推荐
Redis RDB快照
【ES实战】ES上的安全性运行方式
Postgresql随手记(10)动态执行EXECUTING语法解析过程
Is there a piece of code that makes you convinced by human wisdom
[understanding of opportunity-35]: Guiguzi - flying clamp - the art of remote connection, remote control and remote testing
Redis AOF日志
Y53. Chapter III kubernetes from introduction to mastery -- ingress (26)
Redis master-slave synchronization
jpa手写sql,用自定义实体类接收
Regular expression collection
写给当前及未来博士研究生一些建议整理分享
The best smart home open source system in 2022: introduction to Alexa, home assistant and homekit ecosystem
cookie、session、tooken
【QT】测试Qt是否能连接上数据库
Algolia's search needs are almost closed
Use pair to do unordered_ Key value of map
关联性——组内相关系数
Overview of edge calculation
Postgresql源码(57)HOT更新为什么性能差距那么大?
小程序表单校验封装