Wie Shell das Leistungsmanagementsystem für Schüler implementiert

小云云
Freigeben: 2018-05-10 13:54:55
Original
4015 Leute haben es durchsucht

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
Nach dem Login kopieren

>>: Add-on-Schreiben Methode (Neuer Inhalt wird nach dem ursprünglichen Inhalt hinzugefügt)

echo "hello world" >> myfile
Nach dem Login kopieren

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
Nach dem Login kopieren

Verwandte Empfehlungen:

Student Score Management System

Laravel5 Student Performance Management System-07-Seitenleiste hinzufügen

Detaillierte Erläuterung des Beispiels der Linux-Shell-Implementierung des Bibliotheksverwaltungssystems

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage