### ### Part4: 以下为程序主界面的脚本(Select选择菜单)
MENU=("身份证号信息(性别/生日/属地)查询" "身份证号有效性验证" "身份证号15位-18位转换" "身份证号18位-15位转换" "退出程序")
clear ; echo
echo '*************** 身份证号校验及属地查询[Shell测试版] ***************'
echo '** by TsengYia#126.com 2007-12-25 **'
echo '**---------------------------------------------------------------**'
echo '** 地区编码数据来源:国家统计局网站
http://www.stats.gov.cn **'
echo '** 档案名称:《最新县及县以上行政区划代码(截止2006年12月31日)》 **'
echo '**---------------------------------------------------------------**'
echo '## 功能菜单:'
### ### 修改菜单提示字串
PS3="请选择操作项> "
select SLT in "${MENU[0]}" "${MENU[1]}" "${MENU[2]}" "${MENU[3]}" "${MENU[4]}"
do
case $SLT in
"${MENU[0]}")
### ### 以下为"身份证信息查询"菜单处理
read -p "请正确输入您的15位或18位身份证号:" ID_NUM
inquire $ID_NUM
;;
"${MENU[1]}")
### ### 以下为"身份证号有效性校验"菜单处理
read -p "请正确输入您的15位或18位身份证号:" ID_NUM
verify $ID_NUM
;;
"${MENU[2]}"|"${MENU[3]}")
### ### 以下为"身份证号18<->15位转换"菜单处理
LEN=15 ; [ $SLT = ${MENU[3]} ] && LEN=18
read -p "请正确输入您的$LEN位身份证号:" ID_NUM
verify $ID_NUM
[ $? -ne 0 ] && echo -e "==== 转换信息==== \n 输入的身份证号异常!无法进行正确转换!" && continue
[ ${#ID_NUM} -eq $LEN ] && echo -e "==== 转换信息==== \n 转换后的身份证号是:$(convert1518
$ID_NUM)" && continue
echo -e "==== 转换信息==== \n 该身份证号不需转换(或无法转换):$ID_NUM"
;;
"${MENU[4]}")
### ### 以下为"退出"菜单处理
echo "==== 欢迎使用本测试脚本程序。再见!==== "
exit 0
;;
*)
### ### 以下为"选择项无效"时的处理
echo " ERROR_00 无效的选择项!请正确输入菜单项前边的数字(1-5)"
;;
esac
done
###################### End #######################