一个shell对参数进行验证的问题.
sh prog.sh p1 p2
其中p1,p2为两个参数,验证方式如下:
如果 p1长度=4 且 为数字 则
通过
否则
提示
退出
如果 p2为日期 且不大于今天 则
通过
否则
提示
退出
该怎么写? 谢谢.
------解决方案--------------------#!/bin/bash
#是否两个参数
if [ $# -lt 2 ];then
echo "Usage: $0 arg1 arg2 "
exit 1
fi
#测试p1是否为数字
expr $1 + 0 > /dev/null 2> &1
if [ "$? " != "0 " ] || [ $1 -lt 1000 ] || [ $1 -ge 10000 ];then
echo "p1 is unvalid "
exit 1
fi
exit 0
只写了p1部分~~~有空再写...
------解决方案--------------------对日期格式有什么要求?
是
2007-12-31
2007-31-12
Dec. 31,2007
2007/12/31
31/12/2007
还是2007年12月31日