Shell 必知必会 | 四、if 语句,详解 + 实例

举报
Linux猿 发表于 2021/08/04 23:23:56 2021/08/04
【摘要】   目录 一、基本语法 1.1 if 1.2 if else  1.3 if elif 二、实例 2.1 if 语句 2.2 if else 语句 2.3 if elif 语句 三、总结 在 Shell 编程中,在判断的时候经常使用 if 语句,但是,Shell 中的 if 语句与 C/C++/Java 等语言中的形式还有有些差别的,...

  目录

一、基本语法

1.1 if

1.2 if else 

1.3 if elif

二、实例

2.1 if 语句

2.2 if else 语句

2.3 if elif 语句

三、总结


在 Shell 编程中,在判断的时候经常使用 if 语句,但是,Shell 中的 if 语句与 C/C++/Java 等语言中的形式还有有些差别的,下面结合实例进行说明。

一、基本语法

if 语句主要有一下几种形式。 

1.1 if

(1)形式一


  
  1. if condition; then
  2. 符合 condition 的执行语句
  3. fi

注意:结尾是将 if 倒过来写 fi 作为结束标志。 

(2)形式二

可以将 then 写到与 if 在一行,也可以分行写,如下所示:


  
  1. if condition
  2. then
  3. 符合 condition 的执行语句
  4. fi

1.2 if else 

单独的一个 if else 语句,如下所示: 


  
  1. if condition
  2. then
  3. 符合 condition 的执行语句
  4. else
  5. 不符合 condition 的执行语句
  6. fi

这里 then 也可以写到与 if 在一行中。 

1.3 if elif

注意:Shell 里将 else if 简写为 elif,elif 也要有 then,如下所示: 


  
  1. if condition_1
  2. then
  3. 符合 condition_1 的执行语句
  4. elif condition_2
  5. then
  6. 符合 condition_2 的执行语句
  7. else
  8. 不符合 condition_1 和 condition_2 的执行语句
  9. fi

当然,还有更多的组合形式,这里就不一一说明了。 

二、实例

2.1 if 语句


  
  1. #!/bin/bash
  2. file="/root"
  3. #形式一
  4. if [ -d $file ]; then
  5. echo "$file is directory!"
  6. fi
  7. #形式二
  8. if [ -d $file ]
  9. then
  10. echo "$file is directory!"
  11. fi

2.2 if else 语句


  
  1. #!/bin/bash
  2. file="/root"
  3. if [ -d $file ]
  4. then
  5. echo "$file is directory!"
  6. else
  7. echo "$file is not directory!"
  8. fi

2.3 if elif 语句


  
  1. #!/bin/bash
  2. file="/root"
  3. if [ -f $file ]
  4. then
  5. echo "$file is regular file!"
  6. elif [ -d $file ]
  7. then
  8. echo "$file is directory!"
  9. else
  10. echo "$file is not regular file and directory"
  11. fi

三、总结

if 语句判断逻辑各种编程语言都是通用的,在 Shell 中要注意if语句结尾使用 fi(if 倒过来写),else if 应写成 elif ,还有在写 if 和 elif 时别忘记 then。

文章来源: blog.csdn.net,作者:Linux猿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/nyist_zxp/article/details/113716153

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。