文档章节

2011年写的蹩脚的shell脚本

jk409
 jk409
发布于 2014/07/14 15:20
字数 1579
阅读 60
收藏 1
#!/bin/bash
adress=/root/123/rk
#***********************************************************************************************
#主菜单函数,其他个个返回函数均返回到这来
public(){
echo -e "    |********************人*****口*****管******理*******************|"
echo -e "    |北京时间:`date`                                                        |"
echo -e "    |                                                                                   |"
echo -e "    |             *欢*迎* 进* 入* [人 口 管 理 系 统]               |"
echo -e "    |      ^_^              ^_^           ^_^             ^_^                     |"
echo -e "    |_______________________________________________________________|"
echo -e "    1.[查询] 2.[添加] 3.[修改] 4.[删除] 5.[帮助] 6.[退出] \n"
}
#**********************************************************************************************
#//////////////////////////////////////////////////////////////////////////////////////////////
#一个显示菜单的函数;与修改xiugai()函数模块配合使用
xg_xm(){
echo -e ""
echo -e "   1.[身份编号]  2.[姓名]  3.[性别]  4.[年龄]  5.[生日]"
echo -e "   6.[登记日期]  7.[住址]  8.[学历]  9.[电话]  0.[其他]  "
echo -e ""
echo -e ""
echo -e ""
 
}
#提取信息变量函数模块;与修改xiugai()函数模块配合使用
wz(){
uid=`cut -d: -f1  $adress/$uid`
xm=`cut -d: -f2  $adress/$uid`
xb=`cut -d: -f3  $adress/$uid`
nl=`cut -d: -f4  $adress/$uid`
bir=`cut -d: -f5  $adress/$uid`
tel=`cut -d: -f6  $adress/$uid`
adr=`cut -d: -f7  $adress/$uid`
jy=`cut -d: -f8  $adress/$uid`
oth=`cut -d: -f9  $adress/$uid`
tm=`cut -d: -f10  $adress/$uid`
tm_1=`cut -d: -f11  $adress/$uid`
}
#/////////////////////////////////////////////////////////////////////////////////////////////
#********************************************************************************************
#查询函数模块
selecte(){
     echo "       你选择的是[查询]编号为[1]"
     echo -n "      请输入你的[身份证号]:"
     read sel_uid
#echo -n "      请输入你的[姓名]:"
#read sel_xm
if [  -e $adress/${sel_uid:-xyz123} ];then 
        uid=$sel_uid
        wz
        clear
        echo -e "************************************ 查*询********************************************"
        echo -e "  登记日期:$tm\n"                
        echo -e "  修改日期:$tm_1\n"
        echo -e "  身份证编号:$uid                        学历:${jy:-暂无}\n "
        echo -e "  姓名:${xm:-暂无}\t性别:${xb:-暂无}\t 年龄:${nl:-暂无}\t出生日期:${bir:-暂无}\n"
        echo -e "  联系电话:${tel:-暂无}       家庭住址:${adr:-暂无}  \n\n  其他信息:${oth:-暂无}\n"
        echo -e "**************************************************************************************"
else
        echo -e "       很抱歉,你查的信息不存在!" 
fi
fanhui;
}
add(){
     echo    "       你选择的是[添加]编号为[2]"
     echo -n "      请输入你的[身份证号]:"
read add_uid
if [ -e $adress/$add_uid ];then
   echo -e "\n      很抱歉,该身份证编号已使用,请使用其他编号!"
else
   echo -n "      请输入你的[姓名]:"
read add_xm
   echo -n "      请输入你的[性别]:"
read add_sex
   echo -n "      请输入你的[年龄]:"
read add_nl
   echo -n "      请输入你的[出生日期]:"
read add_bir
   echo -n "      请输入你的[联系电话]:"
read add_tel
   echo -n "      请输入你的[家庭住址]:"
read add_adr
   echo -n "      请输入你的[教育背景]:"
read add_jy
   echo -n "      请输入你的[其他信息]:"
read add_oth
   echo -n "        你是否要添加此人的个人信息[yes/no]:"
read add_tj
case $add_tj in
y|Y|Yes|yes|YES)
touch $adress/$add_uid
tm=`date +%x%t%X%t%A`
tm_1=-`date +%x%t%X%t%A`
echo -e "$add_uid:${add_xm:-name}:${add_sex:-sex}:${add_nl:-age}:${add_bir:-birthday}:${add_tel:-
telphone}:${add_adr:-adress}:${add_jy:-jiaoyu}:${add_oth:-other}:${tm}:${tm_1}:" >>  $adress/$add_uid
echo -e "      [$add_xm]个人信息添加成功!"
;;
n|no|N|NO|No)
echo -e "           你取消了此次操作!"
;;
*)
echo -e "           输入错误,请重新填写个人信息!"
;;
esac
fi
fanhui;   #调用返回函数
}
#*******************************************************************************************************
##修改函数模块;主要是以身份证号为唯一的标示来进行修改,添加,删除数据的
xiugai(){
        echo "       你选择的是[修改]编号为[3]"
        echo -n "      请输入你的[身份证号]:"
read xg_uid
#echo -n "      请输入你的[姓名]:"
#read xg_xm
if [  -e $adress/${xg_uid:-xyz123} ];then 
   uid=$xg_uid
   wz;      #调用--提取数据函数           
   xg_xm;   #一个显示菜单的函数
   echo -n "   请输入你想要修改项目的编号:"
read xg_bh
case $xg_bh in   
1)
#echo  -n -e "\n    你想要[$uid]把改成:   "
#   read  xg_b
sorry;
;;
2)
echo  -n -e "\n    你想要[$xm]把改成:   "
   read  xg_b
sed  -e  "s/$xm/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
3)
echo  -n -e "\n    你想要[$xb]把改成:   "
   read  xg_b
sed  -e  "s/$xb/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
4)
echo  -n -e "\n    你想要[$nl]把改成:   "
   read  xg_b
sed  -e  "s/$nl/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
5)
echo  -n -e "\n    你想要[$bir]把改成:   "
   read  xg_b
sed  -e  "s/$bir/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
6)
echo  -n -e "\n    你想要[$tm]把改成:   "
   read  xg_b
sed  -e  "s/$tm/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
7)
echo  -n -e "\n    你想要[$adr]把改成:   "
   read  xg_b
sed  -e  "s/$adr/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
8)
echo  -n -e "\n    你想要[$jy]把改成:   "
   read  xg_b
sed  -e  "s/$jy/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
9)
echo  -n -e "\n    你想要[$tel]把改成:   "
   read  xg_b
sed  -e  "s/$tel/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
0)
echo  -n -e "\n    你想要[$oth]把改成:   "
read  xg_b
sed  -e  "s/$oth/$xg_b/"  $adress/$uid  > $adress/log
tm_2=-`date +%x%t%X%t%A`
sed  -e  "s/$tm_1/tm_2/"  $adress/log  > $adress/$uid
;;
*)
  echo -e "           输入错误,请重新输入!"
;;
  esac
else
  echo -e "       很抱歉,你查的信息不存在!"
fi
fanhui;    #调用返回函数
}
#********************************************************************************************************
#-----------------------------------------------------------------------------------------------------
#删除函数模块
del(){
     echo -e "       你选择的是[删除]编号为[4]\n"
     echo -n "       请输入你的[身份证号]:"
read del_uid
#echo -n "      请输入你的[姓名]:"
#read sel_xm
if [  -e $adress/${del_uid:-xyz123} ];then 
uid=$del_uid
echo -n -e " \n     你确定要 删除[$del_uid]的个人信息吗?[yes/no]"
read del_yn
case  $del_yn in
y|yes|Y|YES|Yes)
rm -rf $adress/$del_uid
echo -e "\n       系统:删除成功!"
;;
n|no|N|NO|No) ;;
*)echo -e "\n   输入错误,你要请重新输入哦!";;
esac 
else 
echo -e "  你输入的身份证编号不存在,想好了在输入哦!\n"
fi
fanhui;     #调用返回函数
}
#-----------------------------------------------------------------------------------------------------
#**************************************************************************************************
#反回函数,
fanhui(){
echo -n -e "\n    返回,请按[Enter]键: "
read a
}
#*************************************************************************************************
#-----------------------------------------------------------------------------------------------
#简要的帮助函数;当然还有一些使用帮助没有
hp(){
clear
echo -e "                             [ 帮 助 说 明 ]
软件名称:人口管理系统             版本:V.1.0.0
原创作者:***
联系方式:TEL-130713225**     QQ-112527****    Email-jk409@qq.com
作者申明:该软件版权所有.........
"
}
#------------------------------------------------------------------------------------------------
#//////////////////////////////////////////////////////////////////////////////////////////////////
#停用某项功能使用该函数;简单的添加该函数即可
sorry(){
echo -e "\n     很抱歉,该服务暂停使用!"
fanhui;
}
#//////////////////////////////////////////////////////////////////////////////////////////////////
#************************************************************************************************
#主程序体;调用其他所有函数模块!
for((i=0;;i++)){
clear
unset
public;
echo -n "     请选择你所需要的服务编号[1/2/3/4/5/6]:"
read rk_xz
case  $rk_xz in
1) selecte;;
2) add;;
3)xiugai;;
4)del;;
5)hp&&fanhui;;
6)echo -e "\n     系统正在退出......" && exit 0;;
*)  
echo -e "\n      你输入有误,请重新输入[1/2/3/4/5/6]!"
fanhui;
;;
esac
}
#************************************************************************************************


© 著作权归作者所有

共有 人打赏支持
jk409
粉丝 20
博文 159
码字总数 38443
作品 0
深圳
后端工程师
oracle 自动加载数据shell脚本

程序是2011年时写的,代码比较乱,不过生产上运行良好也就没怎么改进了。给有需要的朋友,顺便自己也备份一下,说不定哪天又要用了。 本程序是在UNIX/LINUX环境中运行的shell脚本,程序中通过调...

一群河马
2015/10/25
29
0
2011年6月编程语言排行榜,Lua进入前十

TIOBE发布了2011年6月份的编程语言排行榜,其中Lua语言延续上个月的增长势头,历史上第一次进入排行榜前十位,Java、C、C++依 然占据排行榜前3甲。1到10名依次为:Java、C、C++、C#、PHP、V...

vVqsGHcN
2011/06/08
15.2K
32
如何解决动态IP环境下服务器搭建问题

上篇博客介绍了家里的ADSL动态分配IP的地址的问题,并解决了如何SSH链接问题,接下来需要搭建服务器了,够买域名后无法绑定。有几个网友反应直接用花生壳就行了,在这里说明一下具体环境,我...

十善戒
2014/02/20
0
8
Shell脚本如何传递数组参数或Shell中有引用传递吗?

Shell脚本如何传递数组变量?如: $ export arr=(foo bar)$ cat testarrayparam.sh !/bin/bash echo $1echo ${$1[@]}echo ${arr[@]} $ bash testarrayparam.sh arrarrtestarrayparam.sh: li......

zgw06629
2015/07/09
3.8K
2
golang的调用shell的库--go-sh

go-sh是一个golang的调用shell的库。 使用linux的人都知道shell脚本有它难以取代的优势,用2个词形容就是,简单、粗暴。但是shell有不少的坑,很容易就写的换个机器就不能使了。golang的优势...

go-skyblue
2014/02/09
4K
3

没有更多内容

加载失败,请刷新页面

加载更多

【解惑】领略Java内部类的“内部”

内部类有两种情况: (1) 在类中定义一个类(私有内部类,静态内部类) (2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中...

偶尔诗文
36分钟前
1
0
sqlserver 2008 r2 直接下载地址(百度云)

之前下载的sqlserver2008发现不能附加,就卸载了,重新找到了sqlserver2008R2的百度云资源 卸载sqlserver2008还是有点麻烦,不过就是需要删除注册表中的信息 自己来回卸载了3次终于重装sqlse...

dillonxiao
今天
1
0
[Java]JVM调优总结 -Xms -Xmx -Xmn -Xss

JVM调优总结 -Xms -Xmx -Xmn -Xss 博客分类: Java General JVM应用服务器电信CMS算法 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可...

morpheusWB
今天
2
0
C++ std::function 和 std::bind

C++11提供了std::function和std::bind两个工具,用于引用可调用对象。这些可调用对象包括 普通函数,Lambda表达式,类的静态成员函数,非静态成员函数以及仿函数等。引用可调用对象,可以用于...

yepanl
今天
4
0
python:可迭代对象的索引

关于 python的range的用法: 注意是[ 开始,结束)的半开区间,不包括结束 http://www.runoob.com/python/python-func-range.html import collectionsfrom collections import Iterable字符串......

Oh_really
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部