Linux if else条件语句详解

网友投稿 1151 2022-10-18

Linux if else条件语句详解

Linux if else条件语句详解

if 语句

最简单的用法就是只使用 if 语句,它的语法格式为:

if conditionthen statement(s)fi

​​condition​​是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。从本质上讲if是检测命令退出状态。

如果你喜欢,也可以将 then 和 if 写在一行:

if condition;then statement(s)fi

实例1

下面的例子使用 if 语句来比较两个数字的大小:

#!/bin/bashread aread bif (( $a == $b ))then echo "a和b相等"fi

实例2

在判断条件中也可以使用逻辑运算符,例如:

[root@localhost ~]# vim test.sh #!/bin/bashread aread bif (($a>10 && $b<15))then echo "a>10 b<15" echo "ha ha"fi[root@localhost ~]# ./test.sh 1112a>10 b<15ha ha

​​&&​​​就是逻辑“与”运算符,只有当​​&&​​​两侧的判断条件都为“真”时,整个判断条件才为“真”。 请注意,即使 then 后边有多条语句,也不需要用​​​{ }​​包围起来,因为有 fi 收尾呢

if else 语句

如果有两个分支,就可以使用 if else 语句,它的格式为:

if conditionthen statement1else statement2fi

如果 condition 成立,那么 then 后边的 statement1 语句将会被执行;否则,执行 else 后边的 statement2 语句。 举个例子:

[root@localhost ~]# vim test.sh #!/bin/bashread aread bif(($a==$b))then echo "a=b"else echo "a!= b"fi [root@localhost ~]# ./test.sh 1010a=b[root@localhost ~]# ./test.sh 1210a!= b

if elif else 语句

Shell 支持任意数目的分支,当分支比较多时,可以使用 if elif else 结构,它的格式为:

if condition1then statement1elif condition2then statement2elif condition3then statement3……else statementnfi

注意,if 和 elif 后边都得跟着 then。 整条语句的执行逻辑为:

如果 condition1 成立,那么就执行 if 后边的 statement1;如果 condition1 不成立,那么继续执行 elif,判断 condition2。如果 condition2 成立,那么就执行 statement2;如果 condition2 不成立,那么继续执行后边的 elif,判断 condition3。如果 condition3 成立,那么就执行 statement3;如果 condition3 不成立,那么继续执行后边的 elif。如果所有的 if 和 elif 判断都不成立,就进入最后的 else,执行 statementn。

举个例子,输入年龄,输出对应的人生阶段:

#!/bin/bashread ageif (( $age <= 2 )); then echo "婴儿"elif (( $age >= 3 && $age <= 8 )); then echo "幼儿"elif (( $age >= 9 && $age <= 17 )); then echo "少年"elif (( $age >= 18 && $age <=25 )); then echo "成年"elif (( $age >= 26 && $age <= 40 )); then echo "青年"elif (( $age >= 41 && $age <= 60 )); then echo "中年"else echo "老年"fi运行结果1:19成年运行结果2:100老年

if判断文件,目录是否存在

-d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真

目录:

path="/home"#if [ ! -d ${path} ];thenif [ -d ${path} ];then echo dir ${path} exist!else echo dir ${path} not exist!fi

文件:

file="/home/log.txt"if [ -f ${file} ];then echo file ${file} exist!else echo file ${file} not exist!fi

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ClusterControl- 数据库集群控制程序
下一篇:MVVM Architecture Android Beginners: 示例应用程序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~