龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

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

时间:2011-03-20 22:37来源:未知 作者:admin 点击:
分享到:
一个地址本的脚本,可供学shell的人参考 -------------addr.sh------------ #!/bin/bash clear . /etc/rc.d/init.d/functions arg_count=$# if [ $arg_count -eq 0 ]; then FILENAME=/tmp

  一个地址本的脚本,可供学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)

  echo

  show

  ;;

  5)

  echo

  main

  ;;

  *)

  clear

  del

  esac

  

  echo

  echo -e " Do you wish to proceed?[y/n]:c"

  read proceed

  echo

  case $proceed in

  y|Y|yes|Yes|YES)

  clear

  del

  ;;

  n|N|No|NO)

  echo

  main

  ;;

  *)

  echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"

  echo

  exit 1

  esac

  }

  

  

  show(){

  echo

  echo -e " 姓 名 职 位 电 话 电子邮件"

  echo

  cat -n $FILENAME

  echo

  echo -e " Do you wish to proceed?[y/n]:c"

  read proceed

  echo

  case $proceed in

  y|Y|yes|Yes|YES)

  main

  ;;

  n|N|No|NO)

  echo

  exit 1

  ;;

  *)

  echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"

  echo

  exit 1

  esac

  }

  

  main(){

  clear

  echo

  echo -e " --------------------------------"

  echo -e " | 1. Add record |"

  echo -e " | 2. Del record |"

  echo -e " | 3. Show record |"

  echo -e " | 4. Exit |"

  echo -e " --------------------------------"

  echo

  echo -e " Your selection:c"

  read selection

  echo

  

  case $selection in

  1)

  add

  ;;

  2)

  del

  ;;

  3)

  show

  ;;

  4)

  exit 1

  ;;

  *)

  main

  esac

  }

  main  (chinaunix)

  

精彩图集

赞助商链接