if (( ex_year >= curr_year && ex_month >= curr_month && ex_day <= curr_day ))
then
condition...
fi
This work in every sh, dash, ksh, bash, = any posix-sh or old Bourne shell.
if [ "$ex_year" -ge "$curr_year" -a "$ex_month" -ge "$curr_month" -a "$ex_day" -le "$curr_day" ]
then
echo OK
fi
[ is test command and it include argument AND and OR = -a / -o
[
[[
((
are 3 different command.
cmd && cmd && cmd is different as [ sometest -a sometest -a sometest ] but in this case result is same.
=>
[ sometest ] && [ sometest ] && [ sometest ]
give same result as
[ sometest -a sometest -a sometest ]