shell脚本:简单的分数记录系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本:简单的分数记录系统相关的知识,希望对你有一定的参考价值。

直接上代码:

#mcore.sh
#!bin/bash

function colour()
{
	case $1 in
		black_white) 
			echo -e "\033[40;37m"
			;;
		black_green)
			echo -e "\033[40;32m"
			;;
		black_cyan)
			echo -e "\033[40;36m"
			;;
		red_yellow)
			echo -e "\033[41;33m"
			;;	
		yellow_blue)
			echo -e "\033[43;34m"
			;;
	esac		
}

function search()
{
	colour black_white
	clear
	echo -e "please enter name >>>\c"
	read NAME
	if [ ! -f ./record ]; then
		echo "you must have some scores before you can search"
		sleep 2
		clear
		return 
	fi

	if [ -z "$NAME" ]; then
		echo "you didn t enter a name!"
		echo -e "please enter name >>>\c"
		read NAME
	fi

	grep -i "$NAME" ./record 2> /dev/null

	case "$?" in
		1)	echo "Name not in record"
			;;
		2) echo "you didin t enter a name to search"
			search;;
	esac
}

function add()
{
	clear
	echo "enter name and score of a record"
	echo -e "\c"

	if [ ! -f ./record ];then
		touch record
	fi
	read NEWNAME
	echo "$NEWNAME" >./record

	sort -o ./record ./record
}

function delete()
{
	clear
	echo -m "please enter name >>\c"
	read NAME
	if [ ! -f ./record ];then
		echo "this name is not in record"
	else
		cp record record.bak
		rm -f record
		grep -v "$NAME" ./record.bak > record
		rm -f record.bak
	fi
}

function display()
{
	colour black_white
	more ./record
}

function edit()
{
	vi ./record
}

function help()
{
	clear
	colour black_cyan
	echo "this is a student s record program by lunix shell language"
}

function quit()
{
	clear
	colour black_white
	exit
}

clear

while true
do 
	colour red_yellow
	echo "****************************************"
	echo "*STUDENT S RECORD MENU                 *"
	echo "****************************************"
	colour yellow_blue
	echo "****************************************"
	echo "*1:search a record                     *"
	echo "*2:add a record                        *"
	echo "*3:delete a recore                     *"
	echo "*4:dispaly all records                 *"
	echo "*5:edit record witm vi                 *"
	echo "*H:help screen                         *"
	echo "*Q:exit program                        *"
	echo "****************************************"
	colour black_green
	echo -e -n "\tplease enter you choice 1--5,H,Q:\c"
	read CHOICE

	case $CHOICE in
		1) search;;
		2) add; clear;;
		3) delete; clear;;
		4) display;;
		5) edit; clear;;
		H | h) help;;
		Q | q) quit;;
		*)	echo "invalid choice"; 
		sleep 2;
		clear;;
	esac
done

运行结果:

技术分享

技术分享


本文出自 “剩蛋君” 博客,请务必保留此出处http://memory73.blog.51cto.com/10530560/1791539

以上是关于shell脚本:简单的分数记录系统的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

Shell脚本切割日志

shell脚本,计算学生分数的题目。

shell 脚本 片段

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

Linux学习记录:Shell脚本