需求分析
shell脚本开发存在的一个问题是各种不一致的数据格式。规范数据格式的难度可小可大。数据格式算是其中最有挑战性的工作之一,这是因为指定日期的方法各种各样。哪怕是提示过特定的格式,例如按照“月-日-年”,照样有可能得到不一致的输入:月份没有采用数字,而是用了月份名称或月份名称缩写,甚至还有全部是大写字母的月份全称。有鉴于此,一个能够规范日期的函数,尽管本身很基础,却能在后续的脚本编写工作中帮上大忙。
代码实现
以下代码可以对符合一组简单要求的日期进行规范:月份要么采用名称,要么采用1至12之间的值;年份必须采用4位数的值。规范后的日期由月份名称(3个字母的缩写)、天数以及4位数的年份组成。
#!/bin/bash
# filename:normdate
# function:将月份规范成3个字母,首字母大写
# description:该脚本随后将作为脚本7的辅助函数。如果没有错误,那么以0值退出。
monthNumToName(){
# 将变量month设置为相应的值
case $1 in
1) month="Jan" ;; 2) month="Feb" ;;
3) month="Mar" ;; 4) month="Apr" ;;
5) month="May" ;; 6) month="Jun" ;;
7) month="Jul" ;; 8) month="Aug" ;;
9) month="Sep" ;; 10) month="Oct" ;;