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 ]]
浙公网安备 33010602011771号