字、还是单词,若是数字,则可查“数字—month”映射表(自定义case结构);若是单词,则取前三个字母,并格式化。#!/bin/bashmonthnoToName(){?case$1in1)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";;11)month="Nov";;12)month="Dec";;*)echo"$0:Unknownnumericmonthvalue$1">&2;exit1#default,esac #return0}if[$#-ne3];then #若参数个数不为3,则有误?echo“Usage:$0monthdayyear”?exit1fi#判断参数1是数字还是单词,方法替换串中所有数字,若结果为空,则为数字,否则为单词。if[-n$(echo$1|sed‘s/[[:digit:]]//g’)]#-n检测串是为空then?monthnoToName$1 #数字else?#取第一个字母并将其变为大写,再将结果与取出的第二三字母组合?month=”$(echo$1|cut–c1|tr'[:lower:]''[:upper:]')“?month=”$month$(echo$1|cut-c2-3|tr'[:upper:]''[:lower:]')”fiecho$month$2$3#输出结果exit0运行截图:2.2程序流程(1)连接服务器连接服务器之前需要解析服务器地址,创建套接字,设置相关参数。(2)发送消息功能(3)服务器功能模块结束系统测试3.1运行截图服务器端运行截图客户端登陆,输入昵称和密码,文件的写入