zoukankan      html  css  js  c++  java
  • shell基础(七)-条件语句

    条件语句在编写脚本经常遇到;用于处理逻辑问题。


     一 IF 语句

    if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:
    if ... fi 语句;
    if ... else ... fi 语句;
    if ... elif ... else ... fi 语句。

    例如: 就拿a=10;b=20来举例

      >1. if ... fi 语句
        : if01.sh
         #!/bin/sh
         a=10
         b=20
         if [ $a -lt $b ];then             #$a小于$b
          echo "10 is less then 20"
         fi
       >2.if ... else ... fi 语句
         :if02.sh
         #!/bin/sh
         a=10
         b=20
         if [ $a -lt $b ];then
           echo "10 is less then 20"
         else
           echo "10 is not less then 20" 
         fi
       >3.if ... elif ... else ... fi 语句
        :if03.sh
         #!/bin/sh
         a=10
         b=20
         if [ $a -lt $b ];then
          echo "10 is less then 20"  
         elif [ $a -eq $b ];then
          echo "10 is equal to 20"
         else
          echo "10 is not less then 20"   #我没找到好点的编辑器,我是用ue
         fi
    

      二 case 语句

    #case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。语法格式:
      case 值in
       模式1)
       命令1
        . . .
        ;;
      模式2)
       命令2
        . . .
        ;;
      esac
    

    case工作方式如上所示。取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。
    取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。
    如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令

    下面的脚本提示输入1到4,与每一种模式进行匹配:

    case01.sh
     #!/bin/sh
     read -n1 -p "please input your number: " num
     case $num in 
     1)
     echo "you select 1"
     ;;
     2)
     echo "you select 2"
     ;;
     3)
     echo "you select 3"
     ;;
     4)
     echo "you select 4"
     ;;
     *)
     echo "you select other"
     ;;
     esac
    

  • 相关阅读:
    Unix domain sockets
    python异常处理
    php注册登录源代码
    div,css命名规范!
    html、css和js注释的规范用法
    PHPstrom的Disable Power Save Mode
    开通了博客园
    O(1)时间删除链表中的节点 13
    打印1到最大的n位数 12
    自己实现一个数的整数次方 11
  • 原文地址:https://www.cnblogs.com/lottu/p/3992863.html
Copyright © 2011-2022 走看看