shell 判断输入的年份是闰年还是非闰年

输入一个年份,判断是闰年还是非闰年;闰年是能被4整除但是不能被100整除;或者能被400整除的年份

复制代码
while :
do
  echo "please input a year"
read year
if [[ $(expr $year % 4) == 0 && $(expr $year % 100) != 0 ]]
then
  echo " $year shi runnian"
elif [ $(expr $year % 400) == 0]
then
  echo " $year is runnian"
else
  echo "$year is not runnian"
fi
done
复制代码

但是,刚开始写判断时,写的是 

if [[ $(`expr $year % 4`) == 0 && $(`expr $year % 100`) != 0 ]],运行后一直报错;
后来改为把判断的条件值先写出来然后再判断,如下
val1=`expr $year % 4`
val2=`expr $year % 100`
val3=`expr $year % 400`
if [[ $val1 -eq 0 && $val2 -ne 0]]

这样写也是可以的。

 

但是有一点一直没明白,为何按下面这样写法就会报错

if [[ $`expr $year % 4` == 0 && $`expr $year % 100` != 0 ]]


 

 

posted @   袁小文子  阅读(680)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示