Shell 脚本基础 - 使用 if 语句进行条件检测
Bourne Shell 的 if 语句和大部分编程语言一样 - 检测条件是否真实,如果条件为真,shell 会执行这个 if 语句指定的代码块,如果条件为假,shell 就会跳过 if 代码块,继续执行之后的代码。
if 语句的语法:
- if[判断条件]
- then
- command1
- command2
- ……..
- last_command
- fi
Example:
- #!/bin/bash
- number=150
- if[ $number -eq 150]
- then
- echo "Number is 150"
- fi
if-else 语句:
除了标准的 if 语句之外,我们还可以加入 else 代码块来扩展 if 语句。这么做的主要目的是:如果 if 条件为真,执行 if 语句里的代码块,如果 if 条件为假,执行 else 语句里的代码块。
语法:
- if[判断条件]
- then
- command1
- command2
- ……..
- last_command
- else
- command1
- command2
- ……..
- last_command
- fi
Example:
- #!/bin/bash
- number=150
- if[ $number -gt 250]
- then
- echo "Number is greater"
- else
- echo "Number is smaller"
- fi
If..elif..else..fi 语句 (简写的 else if)
Bourne Shell 的 if 语句语法中,else 语句里的代码块会在 if 条件为假时执行。我们还可以将 if 语句嵌套到一起,来实现多重条件的检测。我们可以使用 elif 语句(else if 的缩写)来构建多重条件的检测。
语法 :
- if[判断条件1]
- then
- command1
- command2
- ……..
- last_command
- elif[判断条件2]
- then
- command1
- command2
- ……..
- last_command
- else
- command1
- command2
- ……..
- last_command
- fi
Example :
- #!/bin/bash
- number=150
- if[ $number -gt 300]
- then
- echo "Number is greater"
- elif[ $number -lt 300]
- then
- echo "Number is Smaller"
- else
- echo "Number is equal to actual value"
- fi
多重 if 语句 :
If 和 else 语句可以在一个 bash 脚本里相互嵌套。关键词 “fi” 表示里层 if 语句的结束,所有 if 语句必须使用 关键词 “fi” 来结束。
基本 if 语句的嵌套语法:
- if[判断条件1]
- then
- command1
- command2
- ……..
- last_command
- else
- if[判断条件2]
- then
- command1
- command2
- ……..
- last_command
- else
- command1
- command2
- ……..
- last_command
- fi
- fi
Example:
- #!/bin/bash
- number=150
- if[ $number -eq 150]
- then
- echo "Number is 150"
- else
- if[ $number -gt 150]
- then
- echo "Number is greater"
- else
- echo "'Number is smaller"
- fi
- fi
相关推荐
huha 2020-10-16
laisean 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
JohnYork 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
wangzhaotongalex 2020-09-22
流年浅滩 2020-10-23
liujianhua 2020-10-22
woaimeinuo 2020-10-21
tufeiax 2020-09-03
laisean 2020-09-01
vvu 2020-09-16
libao 2020-09-16
Yyqingmofeige 2020-08-18
zhushixia 2020-08-17