In diesem Artikel wird hauptsächlich das von Shell implementierte Schülerleistungsmanagementsystem ausführlich vorgestellt. Ich hoffe, dass es für interessierte Freunde hilfreich ist.
Grundfunktionen
Hinzufügen
Löschen
Abfrage
Alle Schülerinformationen anzeigen
vim bearbeitet die Datei, in der die Informationen gespeichert werden
Aufgetretene Probleme
1. Beim Hinzufügen von Schülerinformationen
Schüler hinzufügen Wann Beim Senden von Informationen verwende ich Echo, um zur Datei umzuleiten. Das hier verwendete ist >, was zum Überschreiben führt. Die vorherigen Daten sind weg.
Zusammenfassung: Umleitungssymbole:
>: Überschreibmethode (der ursprüngliche Inhalt in der Datei wird überschrieben)
echo "hello world" > myfile
>>: Add-on-Schreiben Methode (Neuer Inhalt wird nach dem ursprünglichen Inhalt hinzugefügt)
echo "hello world" >> myfile
2. Löschen Sie eine bestimmte Zeile mit Schülerinformationen
Ich weiß zunächst nicht, wie ich es löschen soll. Schließlich habe ich den Befehl grep -v gefunden.
Es bedeutet eine umgekehrte Auswahl, d. h. die Anzeige der Zeile ohne „Suchzeichenfolge“-Inhalt.
Spezifischer Implementierungscode
#! /bin/bash #查询函数 search() { 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 didnt eter a name to search"; sleep 2; search;; esac } #增加信息 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 } #删除学生信息 delete() { clear echo -e "Please enter delete name" 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 } #显示所有的记录函数 display() { more ./record } #利用vim编辑器编辑函数 edit() { vim ./record } #屏幕帮助操作 help() { clear echo "this is a student record program by unix shell language!" } #推出程序 quit() { clear exit } clear while true do echo "*********************************************" echo "**** student record menu ****" echo "*********************************************" echo "---------------------------------------------" echo "#############################################" echo " 1-search a record " echo " 2-add a record " echo " 3-delete a record " echo " 4-dispaly all records " echo " 5-edit record with vim " echo " H-help " echo " Q-exit " echo "#############################################" echo -e -n "Please enter your choice [1,2,3,4,5,6,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 "Invailid choice!"; sleep 2; clear;; esac done
Verwandte Empfehlungen:
Student Score Management System
Laravel5 Student Performance Management System-07-Seitenleiste hinzufügen
Das obige ist der detaillierte Inhalt vonWie Shell das Leistungsmanagementsystem für Schüler implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!