• if嵌套语句 shell脚本实例 测试是否闰年


    在 if 语句里面,你可以使用另外一个 if 语句。只要你能逻辑管理
    你就可以使用多层嵌套。 以下是一个测试闰年的例子:
    #!/bin/bash
    # This script will test if we're in a leap year or not.
    year=`date +%Y`
    if [ $[$year % 400] -eq "0" ]; then  
       echo "This is a leap year.  February has 29 days."
    elif [ $[$year % 4] -eq 0 ]; then        
           if [ $[$year % 100] -ne 0 ]; then          
              echo "This is a leap year, February has 29 days."        
           else          
              echo "This is not a leap year.  February has 28 days."        
           fi
    else   echo "This is not a leap year.  February has 28 days."
    fi
    # echo `date +%Y` 2009
    # ./leapyear.sh This is not a leap year.  February has 28 days.
    --------------------------------------------------------------------
    以上的脚本可以用布尔操作符 “AND(&&)” 和 “OR(||)” 来缩短
    #!/bin/bash
    # This script will test if we're in a leap year or not.
    year=`date +%Y`
    if (( ("$year" % 400) == "0" )) || ((("$year" % 4 == "0") && ("$year" % 100 != "0") )); then  
          echo "This is a leap year." else   echo "This is not a leap year."
    fi
    # ./leapyear2.sh This is not a leap year.
    --------------------------------------------------------------------------
    同样可以使用内建命令read来捕捉用户的输入,来测试是否为闰年:
    #!/bin/bash
    # This script will test if you have given a leap year or not.
    echo "Type the year that you want to check (4 digits), followed by [ENTER]:"
    read year
    if (( ("$year" % 400) == "0" )) || (( ("$year" % 4 == "0") && ("$year" % 100 != "0") )); then  
       echo "$year is a leap year."
    else  
       echo "This is not a leap year."
    fi
    # ./leap2.sh
    Type the year that you want to check (4 digits), followed by [ENTER]: 2009 This is not a leap year.
  • 相关阅读:
    并发编程
    网络与WEB 编程
    包和模块
    元编程
    类和对象
    【算法题 14 LeetCode 147 链表的插入排序】
    剑指offer面试54题
    剑指offer 面试51题
    剑指offer 面试3题
    剑指offer 面试52题
  • 原文地址:https://www.cnblogs.com/likai198981/p/3716205.html
Copyright © 2020-2023  润新知