热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>Shell开发>

菜鸟学习SHELL第一课---地址本的脚本

来源: 作者: 时间:2008-04-28 Tag: 点击:
  一个地址本的脚本,可供学shell的人参考
  -------------addr.sh------------
  #!/bin/bash
  clear
  . /etc/rc.d/init.d/functions
  
  arg_count=$#
  if [ $arg_count -eq 0 ]; then
  FILENAME=/tmp/addr
  elif [ $arg_count -eq 1 ]; then
  FILENAME=$1
  else
  echo -e $"07Usage:
  $0 filename"
  exit 1
  fi
  
  add(){
  echo
  echo -e " N A M E :c"
  read name
  echo
  echo -e " P O S I T I O N :c"
  read position
  echo
  echo -e " T E L E P H O N E :c"
  read telephone
  echo
  echo -e " E _ M A L E :c"
  read email
  echo -e "$name $position $telephone $email" >> $FILENAME
  echo
  echo -e " Do you wish to proceed?[y/n]:c"
  read proceed
  echo
  case $proceed in
  y|Y|yes|Yes|YES)
  add
  ;;
  n|N|No|NO)
  clear
  main
  ;;
  *)
  echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"
  exit 1
  esac
  }
  proceed(){
  case $1 in
  y|Y|yes|Yes|YES)
  $2 $3 $4 $FILENAME > $FILENAME.tmp
  mv $FILENAME.tmp $FILENAME
  echo
  echo -e " Line Deleted!"
  ;;
  n|N|No|NO)
  echo
  ;;
  *)
  echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"
  echo
  esac
  
  }
  del(){
  clear
  echo
  echo -e " ------------------------------------"
  echo -e " | 1. Del record by Line |"
  echo -e " | 2. Del record by Name |"
  echo -e " | 3. Del record by Tel |"
  echo -e " | 4. Show all record |"
  echo -e " | 5. Exit |"
  echo -e " ------------------------------------"
  echo
  echo -e " Your selection:c"
  read selection
  echo
  case $selection in
  1)
  echo -e " Input Start_Line_Number:c"
  read line1
  echo
  echo -e " Input End_Line_Number:c"
  read line2
  echo
  echo -e " Line$line1 to Line$line2 are:"
  echo
  echo -e " 姓 名 职 位 电 话 电子邮件"
  echo
  sed -n ''$line1','$line2'p' $FILENAME |cat -n
  echo
  echo -e " Delete really?[y/n]:c"
  read proceed
  proceed $proceed sed ''$line1','$line2'd'
  ;;
  2)
  echo -e " Input Name:c"
  read name
  echo
  echo -e " record include $name are:"
  echo
  echo -e " 姓 名 职 位 电 话 电子邮件"
  echo
  grep -w ^$name $FILENAME |cat -n
  echo
  echo -e " Delete really?[y/n]:c"
  read proceed
  proceed $proceed grep -vw ^$name
  ;;
  3)
  echo -e " Input Telephone:c"
  read telephone
  echo
  echo -e " record include $telephone are:"
  echo
  echo -e " 姓 名 职 位 电 话 电子邮件"
  echo
  grep -w $telephone $FILENAME |cat -n
  echo
  echo -e " Delete really?[y/n]:c"
  read proceed
  proceed $proceed grep -vw $telephone
  ;;
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册