我必须验证用户输入的日期。可接受的日期格式为“+%m/%d/%Y”(04/10/1999)
我还必须验证第一个参数是否大于或等于第二个参数,第二个参数也是一个日期。例如:10/04/2000 10/04/1999,这将回显'第一个应大于第二个'
`
#operational statement
if [ "$1" -gt "$2" ]; then
echo "1st should be greater than 2nd"
exit 255
fi #having error of integer expression expected
#validate inputted date
if [ "$1" -ne `date -d '+%m/%d/%Y'` ] || [ "$2" -ne `date -d '+%m/%d/%Y'` ];
then
echo "Invalid. Follow [MM/DD/YY] Format"
exit 255
fi #i think there is a mistake with my condition but can't figure it out.
1条答案
按热度按时间niwlg2el1#
或者不进行排序,而是从大到小排列单位,删除非数字,然后进行比较:
如果你能控制日期格式,你可以选择YYYYMMDD,这样就可以直接比较它们(
[ "$1" -gt "$2" ]
)。