本文介绍了我用于检查leap年的Shell脚本显示错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#!/bin/bash
echo "Enter the year (YYYY)"
read year
if[ $((year % 4)) -eq 0]
then
if[ $((year % 100)) -eq 0]
then
if[ $((year % 400)) -eq 0]
then
echo "its a leap year"
else
echo "its not a leap year"
fi
else
echo "Its not a leap year"
fi
else
echo "its not a leap year"
fi
在第7行和
[ $((year % 4)) -eq 0]
推荐答案
您使它变得太复杂了.使用此代码来计算leap年:
You've made it too complicated. Use this code to figure leap year:
isleap() {
year=$1
(( !(year % 4) && ( year % 100 || !(year % 400) ) )) &&
echo "leap year" || echo "not a leap"
}
对其进行测试:
$ isleap 1900
not a leap
$ isleap 2000
leap year
$ isleap 2016
leap year
$ isleap 1800
not a leap
$ isleap 1600
leap year
这篇关于我用于检查leap年的Shell脚本显示错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!