话我就不多说了,主要是运用了cal命令,省略了很多繁琐的东西,判断月份是否大于了12,日期是否大于了31哦,还有什么大月,小月,润月等问题.
zj@zj:~/Script/cushell/08.11.15$ cat date.sh
#!/bin/bash
#usage:yyyymmdd
(($#!=1))||((${#1}!=8)) && { echo "Usage:yyyymmdd";exit 1; }
year=${1:0:4}
month=${1:4:2}
day=${1:6:2}
(cal $month $year|grep -q "$day" && echo ok || echo error) 2>/dev/null
zj@zj:~/Script/cushell/08.11.15$ ./date.sh 20081116
ok
zj@zj:~/Script/cushell/08.11.15$ ./date.sh 2008111600
Usage:yyyymmdd
zj@zj:~/Script/cushell/08.11.15$ ./date.sh 20081319
error
|