脚本练习和总结(待完善)

15 篇文章 0 订阅

#!/bin/bash
#总结:
#1.在使用颜色上面,调用变量会让代码更加清晰直观.
#2.echo -e \033[是启用
#3.清屏命令:$clear
#4.if中的判断选项-n/-z/-f/-d/-e,是写在判断对象前面的,如:[ -f file ]
#5.awk -F. ‘ 2   / B e 2~/^Be 2 /Be/{print}’ record 严格匹配
#awk -F. ‘$2~/Be/{print}’ record 宽松匹配
#6.函数的语法:
#定义:函数名(){} 或者 function 函数名{}
#调用:函数名 <参数1> <参数2> …

######################## Variables ################################

RED='\033[41m'						#红色底

YELLOW='\033[33m'					#黄色字体
GREEN='\033[32m'
BLUE='\033[34m'						#蓝色字体
RES='\033[0m'						#清除颜色
file=$(find / -name "record" 2> /dev/null )		#搜索record文件

######################## Function ##################################
#提示NO record的函数
nr(){
        if [ -z ${file} ];then
        echo "No  file named record!"
        sleep 3
        continue
        fi
}

######################## Tables ##################################
while :
clear
echo -e "${YELLOW}${RED}############################################
#    1:search a record                     #	
#    2:add a record                        #
#    3:delete a recore                     #
#    4:display all recored                 #
#    5:edit record with vi                 #
#    H:help screen                         #
#    Q:exit program                        #
############################################
${RES}"
do
echo -e "${GREEN}please enter your choice [ 1 2 3 4 5 H Q ]: ${RES}"
read -p "" num

######################## Select ##################################

case ${num} in					

#search  a  record
"1")
	clear
	nr
	while :
	do
		read -p " please enter name | enter 'quit' back to menu >>> " name
		clear
	if [ -z ${name}  ];then
		echo "you  didn't  enter  a  name"			#没有输入
		sleep 1
		break
	elif [ ${name} == "quit" ];then
		break
	else								#有输入
		a=$(awk -F. '$2~/^'${name}'$/{print}' ${file} | wc -l)
		awk -F. '$2~/^'${name}'$/{print}' ${file} 
			if [ $a -eq 0  ];then				#输入不存在
				echo "you  must  have  some  scores  before  you  can  search!"
			else 						#输入存在
				sleep 3
				break
			fi
	fi
	done;;
#add  a  record
"2")
	clear
	echo -e "${GREEN}enter name  and score  of  a  record : ${RES}"
	read -p "" v2
	if [ -n $v2  ];then					#有输入(有可能打乱原有格式)
		echo $v2 >> ${file}
		echo "added  $v2 in record"
	else							#没有输入
		echo "you  didn't  enter  any  value"
		echo "please  enter  name  and  score:"	
		read -p "" v2
		sleep 3
		continue
	fi;;
#delete a  record
"3")
        clear
	nr
echo "no operation request"
continue;;
#display    record
"4")
	nr
	cat ${file}
	sleep 3
	clear;;
#edit  record  with  vi
"5")
	nr
	vi ${file}
	continue;;
#help screen
"H")
echo -e "${BLUE}This  is  a  student's  record  manager  program ${RES}"
sleep 3
continue;;
#exit  program
"Q")
	break
;;

*)
	echo "please enter valid mode"
	sleep
	continue;;
esac
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值