地址本的指令碼(轉)

post0發表於2007-08-11
地址本的指令碼(轉)[@more@]

一個地址本的指令碼,可供學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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-944879/,如需轉載,請註明出處,否則將追究法律責任。

相關文章