Shell 脚本基础 - 使用 if 语句进行条件检测

Shell 脚本基础 - 使用 if 语句进行条件检测

Bourne Shell 的 if 语句和大部分编程语言一样 - 检测条件是否真实,如果条件为真,shell 会执行这个 if 语句指定的代码块,如果条件为假,shell 就会跳过 if 代码块,继续执行之后的代码。

if 语句的语法:


  1. if [ 判断条件 ]
  2. then
  3. command1
  4. command2
  5. ……..
  6. last_command
  7. fi

Example:


  1. #!/bin/bash
  2. number=150
  3. if [ $number -eq 150 ]
  4. then
  5. echo "Number is 150"
  6. fi

if-else 语句:

除了标准的 if 语句之外,我们还可以加入 else 代码块来扩展 if 语句。这么做的主要目的是:如果 if 条件为真,执行 if 语句里的代码块,如果 if 条件为假,执行 else 语句里的代码块。

语法:


  1. if [ 判断条件 ]
  2. then
  3. command1
  4. command2
  5. ……..
  6. last_command
  7. else
  8. command1
  9. command2
  10. ……..
  11. last_command
  12. fi

Example:


  1. #!/bin/bash
  2. number=150
  3. if [ $number -gt 250 ]
  4. then
  5. echo "Number is greater"
  6. else
  7. echo "Number is smaller"
  8. fi

If..elif..else..fi 语句 (简写的 else if)

Bourne Shell 的 if 语句语法中,else 语句里的代码块会在 if 条件为假时执行。我们还可以将 if 语句嵌套到一起,来实现多重条件的检测。我们可以使用 elif 语句(else if 的缩写)来构建多重条件的检测。

语法 :


  1. if [ 判断条件1 ]
  2. then
  3. command1
  4. command2
  5. ……..
  6. last_command
  7. elif [ 判断条件2 ]
  8. then
  9. command1
  10. command2
  11. ……..
  12. last_command
  13. else
  14. command1
  15. command2
  16. ……..
  17. last_command
  18. fi

Example :


  1. #!/bin/bash
  2. number=150
  3. if [ $number -gt 300 ]
  4. then
  5. echo "Number is greater"
  6. elif [ $number -lt 300 ]
  7. then
  8. echo "Number is Smaller"
  9. else
  10. echo "Number is equal to actual value"
  11. fi

多重 if 语句 :

If 和 else 语句可以在一个 bash 脚本里相互嵌套。关键词 “fi” 表示里层 if 语句的结束,所有 if 语句必须使用 关键词 “fi” 来结束。

基本 if 语句的嵌套语法:


  1. if [ 判断条件1 ]
  2. then
  3. command1
  4. command2
  5. ……..
  6. last_command
  7. else
  8. if [ 判断条件2 ]
  9. then
  10. command1
  11. command2
  12. ……..
  13. last_command
  14. else
  15. command1
  16. command2
  17. ……..
  18. last_command
  19. fi
  20. fi

Example:


  1. #!/bin/bash
  2. number=150
  3. if [ $number -eq 150 ]
  4. then
  5. echo "Number is 150"
  6. else
  7. if [ $number -gt 150 ]
  8. then
  9. echo "Number is greater"
  10. else
  11. echo "'Number is smaller"
  12. fi
  13. fi

原文发布时间:2014-12-21

本文来自云栖合作伙伴“linux中国”

时间: 2024-11-03 20:17:07

Shell 脚本基础 - 使用 if 语句进行条件检测的相关文章

Linux shell脚本基础学习详细介绍(完整版)

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可

Linux shell脚本基础学习详细介绍(完整版)第1/2页_linux shell

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.当编辑好脚本时,如果要执行该脚本,还必须使其可执行.要使脚本可执行:编译

Shell 脚本中执行mysql语句

    对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法.   1.将SQL语句直接嵌入到shell脚本文件中 --演示环境 [root@SZDB ~]# more /etc/issue CentOS release 5.9 (Final) Kernel \r on an \m root@l

Shell脚本中执行sql语句操作mysql的5种方法_linux shell

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境  [root@SZDB ~]# more /etc/issue  CentOS release 5.9 (Final)  Kernel \r on an \

在Linux的系统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 "N

linux shell脚本基础知识学习_linux shell

Shell脚本: 1.#!  指定脚本执行的shell2.# 注释 3.命令或语法结构echo "输入内容"echo 输出空行 执行: 1.shell 脚本   sh example2.给shell脚本执行权限   chmod u+x example 案例:example  sysinfo.sh 3abc  x  不能以数字开头abc3ABC3 环境变量-大写 命令执行结果赋值变量使用 命令替换符 ``PATH=$PATH:/root/shell.example ls -l /etc/

shell脚本编程之if语句学习笔记_linux shell

我不是研究linux下的东西的,所以这里只对shell脚本的用法做一个介绍,把我自己在使用过程中出现的问题记录下来,同时也是写下一些shell脚本语法的规则,方便以后查看.先来学习一下条件语句if的用法,通过这一个简单的语法来说明一下shell脚本编程时候的东西. 复制代码 代码如下: #!/bin/sh echo "please input text1" read text1 echo "please input text2" read text2 #判断字符串等

Shell脚本编程之判断语句_linux shell

一.单分支if语句 格式:if 判断条件:then statement1 statement2 ... fi 二.双分支的if语句 格式:if 判断条件; then statement1 statement2 ... else statementN ... fi 使用一个以前用过的脚本来说明这个结构. 三.多分支if语句 格式:if 判断条件1:then statement1 ... elif 判断条件2; then statement2 ... elif 判断条件3; then stateme

shell脚本编程之case语句学习笔记_linux shell

case语句是用来实现多个if..else的功能的,但是用法上有些不同,学过其他语言的人都知道,case中要对变量进行匹配,如果有一个匹配成功的话就执行相应的语句.shell编程中的case语句也是这个意思,case会对字符串进行匹配,是从第一个模式开始的,如果有一个模式已经匹配成功的话,其他的模式就不会再进行匹配了,下面看下代码中的用法吧. #!/bin/sh echo "please yes or no" read input #case语句的基本用法,记住每一个匹配后边都有双分号