#!/bin/bash
Db_file ="students.txt"
add_student () {
# Προτροπή για τα στοιχεία των μαθητών
Διαβάστε -p "Εισάγετε το όνομα μαθητή:" Όνομα
Διαβάστε -p "Εισαγάγετε το αναγνωριστικό μαθητή:" ID
revel -p "Εισάγετε σπουδαστή φοιτητής:" Major
# Προσθέστε τα στοιχεία των μαθητών στο αρχείο βάσης δεδομένων
echo "$ όνομα, $ id, $ major">> "$ db_file"
Echo "Ο φοιτητής πρόσθεσε με επιτυχία!"
}
list_students () {
# Ελέγξτε εάν υπάρχει αρχείο βάσης δεδομένων
αν [! -f "$ db_file"]; τότε
Echo "Δεν υπάρχουν μαθητές στη βάση δεδομένων".
απόδοση
fi
# Λεπτομέρειες μαθητών εκτύπωσης από το αρχείο βάσης δεδομένων
echo "Όνομα | id | major"
echo "----- | ---- | -----"
CAT "$ db_file" | ενώ ifs =, διαβάστε το όνομα ID Major; κάνω
echo "$ όνομα | $ id | $ major"
γινώμενος
}
search_student () {
# Προτροπή για το αναγνωριστικό μαθητή
Διαβάστε -p "Εισαγάγετε το αναγνωριστικό μαθητή:" ID
# Αναζήτηση για μαθητή σε αρχείο βάσης δεδομένων
Grep ", $ id", "$ db_file" | ενώ ifs =, διαβάστε το όνομα ID Major; κάνω
Echo "Όνομα:$ όνομα"
Echo "ID:$ id"
Echo "Major:$ major"
απόδοση
γινώμενος
echo "Φοιτητής δεν βρέθηκε".
}
update_student () {
# Προτροπή για το αναγνωριστικό μαθητή
Διαβάστε -p "Εισαγάγετε το αναγνωριστικό μαθητή:" ID
# Βρείτε μαθητή στο αρχείο βάσης δεδομένων
Grep ", $ id", "$ db_file"> tmp.txt
Εάν [$? -ne 0]; τότε
echo "Φοιτητής δεν βρέθηκε".
απόδοση
fi
# Προτροπή για νέες λεπτομέρειες
revel -p "Εισαγάγετε νέο όνομα (αφήστε κενό για να διατηρήσετε το τρέχον):" New_name
revel -p "Εισαγάγετε νέο major (αφήστε κενό για να διατηρήσετε το τρέχον):" New_major
# Ενημερώστε τα στοιχεία των σπουδαστών σε προσωρινό αρχείο
ενώ ifs =, διαβάστε το όνομα old_id major; κάνω
αν ["$ old_id" =="$ id"]; τότε
αν [-n "$ new_name"]; τότε
Όνομα ="$ new_name"
fi
αν [-n "$ new_major"]; τότε
major ="$ new_major"
fi
fi
echo "$ όνομα, $ old_id, $ major"
Έγινε
rm tmp.txt
Echo "Φοιτητής ενημερώθηκε με επιτυχία!"
}
delete_student () {
# Προτροπή για το αναγνωριστικό μαθητή
Διαβάστε -p "Εισαγάγετε το αναγνωριστικό μαθητή:" ID
# Διαγραφή φοιτητή από το αρχείο βάσης δεδομένων
grep -v ", $ id", "$ db_file"> tmp.txt
mv tmp.txt "$ db_file"
Echo "Ο σπουδαστής διαγράφηκε με επιτυχία!"
}
Ενώ είναι αλήθεια? κάνω
Echo "Μενού Βάσεων Δεδομένων Φοιτητών"
Echo "1. Προσθήκη μαθητή"
echo "2. Λίστα μαθητών"
Echo "3. Αναζήτηση για μαθητή"
Echo "4. Ενημέρωση μαθητή"
Echo "5. Διαγραφή μαθητή"
Echo "6. Έξοδος"
Διαβάστε -p "Εισαγάγετε την επιλογή σας:" επιλογή
περίπτωση "$ επιλογή" στο
1) add_student;;
2) List_Students;
3) Search_Student;;
4) update_student;;
5) delete_student;;
6) έξοδος 0;
*) echo "Μη έγκυρη επιλογή. Δοκιμάστε ξανά.";;
ESAC
γινώμενος
`` `
Επεξήγηση:
1. Αρχικοποίηση:
- `#!/bin/bash`:Ορίζει τον διερμηνέα σεναρίου ως bash.
- `db_file =" students.txt "` `:Ορίζει το όνομα του αρχείου βάσης δεδομένων.
2. Λειτουργίες:
- `add_student ()`:
- Προτρέπει τον χρήστη να εισάγει στοιχεία σπουδαστών.
- Προσθέτει τις λεπτομέρειες στο αρχείο βάσης δεδομένων.
- `list_students ()`:
- Ελέγχει εάν υπάρχει το αρχείο βάσης δεδομένων.
- Εκτυπώνει τα στοιχεία των σπουδαστών σε ένα μορφοποιημένο πίνακα.
- `search_student ()`:
- Προτρέπει τον χρήστη να εισαγάγει ένα αναγνωριστικό μαθητή.
- Αναζητεί τον μαθητή στο αρχείο βάσης δεδομένων.
- Εκτυπώνει τα στοιχεία του μαθητή εάν βρεθεί.
- `update_student ()`:
- Προτρέπει τον χρήστη να εισαγάγει ένα αναγνωριστικό μαθητή.
- Βρίσκει τον μαθητή στο αρχείο βάσης δεδομένων.
- Προτρέπει τον χρήστη να εισάγει νέες λεπτομέρειες.
- Ενημερώνει τα στοιχεία του μαθητή στο αρχείο βάσης δεδομένων.
- `delete_student ()`:
- Προτρέπει τον χρήστη να εισαγάγει ένα αναγνωριστικό μαθητή.
- Διαγράφει τον μαθητή από το αρχείο βάσης δεδομένων.
3. Κύριο μενού:
- Χρησιμοποιεί ένα `ενώ το αληθινό 'βρόχο για να εμφανίσει ένα μενού επιλογών.
- Διαβάζει την επιλογή του χρήστη χρησιμοποιώντας `read '.
- Χρησιμοποιεί μια δήλωση `Case` για να εκτελέσει την αντίστοιχη λειτουργία με βάση την επιλογή.
- εξέρχεται από το βρόχο και το σενάριο εάν ο χρήστης επιλέξει την επιλογή 6.
Για να χρησιμοποιήσετε το σενάριο:
1. Αποθήκευση του κώδικα ως αρχείο, π.χ., `student_db.sh`.
2. Κάντε το σενάριο εκτελέσιμο:`chmod +x student_db.sh '
3. Εκτελέστε το σενάριο:`./Student_db.sh '
4. Ακολουθήστε το μενού που ζητά την εκτέλεση λειτουργιών στη βάση δεδομένων Student.
Σημείωση:
- Το αρχείο βάσης δεδομένων `mudents.txt` θα δημιουργηθεί στον ίδιο κατάλογο με το σενάριο.
- Το αρχείο βάσης δεδομένων χρησιμοποιεί μια μορφή διαχωρισμένου με κόμμα:`όνομα, id, major`.
- Μπορείτε να προσαρμόσετε το σενάριο για να προσθέσετε περισσότερες λειτουργίες, όπως διαλογή, φιλτράρισμα ή εξαγωγή δεδομένων σε άλλες μορφές.
λειτουργία για τη διαγραφή ενός μαθητή
Κύριο μενού
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα