当前位置:网站首页>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}"

边栏推荐
- vs2015 AdminDeployment. xml
- [C #] dependency injection and Autofac
- Create Ca and issue certificate through go language
- 写给当前及未来博士研究生一些建议整理分享
- .env.xxx 文件,加了常量,卻undefined
- JPA handwritten SQL, received with user-defined entity classes
- 华为HMS Core携手超图为三维GIS注入新动能
- 【QT】QtCreator卸载与安装(非正常状态)
- What are the common types of points mall games?
- 门级建模—课后习题
猜你喜欢

Current situation and future development trend of Internet of things

门级建模—课后习题

ARP报文头部格式和请求流程

How to solve the image pop-up problem when pycharm calls Matplotlib to draw

Write some suggestions to current and future doctoral students to sort out and share

Huawei HMS core joins hands with hypergraph to inject new momentum into 3D GIS

关联性——组内相关系数

起床困难综合症(按位贪心)

The best smart home open source system in 2022: introduction to Alexa, home assistant and homekit ecosystem

边缘计算概述
随机推荐
Future trend and development of neural network Internet of things
Redis AOF日志
Oracle中已定义者身份执行函数AUTHID DEFINER与Postgresql行为的异同
2021 robocom world robot developer competition - semi finals of higher vocational group
Which securities company is the best to open a stock account? Is there a security guarantee
2021 RoboCom 世界机器人开发者大赛-高职组复赛
Multi table operation - one to one, one to many and many to many
Li Kou today's question -241 Design priorities for operational expressions
写给当前及未来博士研究生一些建议整理分享
kubernetes资源对象介绍及常用命令(三)
使用 pair 做 unordered_map 的键值
MySQL Replication中并行复制怎么实现
Know --matplotlib
ADO. Net SqlCommand object
Is it safe to buy funds on Great Wall Securities?
Huawei HMS core joins hands with hypergraph to inject new momentum into 3D GIS
cookie、session、tooken
Windows 7 install MySQL error: 1067
【ES实战】ES上的安全性运行方式
Selectively inhibiting learning bias for active sampling