#!/bin/bash
Db_file ="studenti.txt"
add_student () {
# Prompt per i dettagli degli studenti
Leggi -p "Immettere il nome dello studente:" Nome
Leggi -p "Immettere l'ID studente:" ID
Leggi -P "Enter Student Major:" Major
# Aggiungi i dettagli degli studenti al file del database
echo "$ nome, $ id, $ major">> "$ db_file"
Echo "Studente ha aggiunto con successo!"
}
list_students () {
# Controlla se esiste un file di database
Se [ ! -f "$ db_file"]; Poi
Echo "Nessun studenti nel database".
ritorno
fi
# Stampa i dettagli degli studenti dal file di database
echo "nome | id | maggiore"
echo "----- | ---- | -----"
Cat "$ db_file" | mentre Ifs =, leggi il nome ID maggiore; Fare
echo "$ nome | $ id | $ maggiore"
Fatto
}
Search_student () {
# Prompt per lo studente ID
Leggi -p "Immettere l'ID studente:" ID
# Cerca studente nel file di database
grep ", $ id", "$ db_file" | mentre Ifs =, leggi il nome ID maggiore; Fare
echo "nome:$ name"
echo "id:$ id"
Echo "Major:$ Major"
ritorno
Fatto
Echo "Studente non trovato".
}
update_student () {
# Prompt per lo studente ID
Leggi -p "Immettere l'ID studente:" ID
# Trova studente nel file del database
grep ", $ id", "$ db_file"> tmp.txt
Se [$? -ne 0]; Poi
Echo "Studente non trovato".
ritorno
fi
# Prompt per nuovi dettagli
Leggi -p "Immettere nuovo nome (lascia vuoto per mantenere corrente):" new_name
Leggi -P "Enter New Major (lascia vuoto per mantenere corrente):" new_major
# Aggiorna i dettagli degli studenti in file temporaneo
mentre ifs =, leggi il nome old_id maggiore; Fare
if ["$ old_id" =="$ id"]; Poi
if [-n "$ new_name"]; Poi
name ="$ new_name"
fi
if [-n "$ new_major"]; Poi
maggiore ="$ new_major"
fi
fi
echo "$ nome, $ old_id, $ major"
Fatto
rm tmp.txt
Echo "Studente aggiornato con successo!"
}
delete_student () {
# Prompt per lo studente ID
Leggi -p "Immettere l'ID studente:" ID
# Elimina lo studente dal file di database
grep -v ", $ id," "$ db_file"> tmp.txt
mv tmp.txt "$ db_file"
Echo "Student eliminato con successo!"
}
mentre è vero; Fare
Echo "Menu Database Student"
Echo "1. Aggiungi studente"
Echo "2. Elenca studenti"
Echo "3. Cerca studente"
Echo "4. Aggiorna studente"
Echo "5. Elimina studente"
Echo "6. Exit"
Leggi -P "Inserisci la tua scelta:" Scelta
Caso "$ scelta" in
1) add_student;;
2) list_students;;
3) Search_student;;
4) update_student;;
5) delete_student;;
6) uscita 0;;
*) echo "scelta non valida. Riprova.";;
Esac
Fatto
`` `
Spiegazione:
1. Inizializzazione:
- `#!/bin/bash`:definisce l'interprete di script come bash.
- `db_file =" studenti.txt "`:imposta il nome del file di database.
2. Funzioni:
- `add_student ()`:
- richiede all'utente di inserire i dettagli dello studente.
- Aggiunge i dettagli al file del database.
- `list_students ()`:
- Verifica se esiste il file di database.
- Stampa i dettagli degli studenti in una tabella formattata.
- `search_student ()`:
- richiede all'utente di inserire un ID studente.
- Cerca lo studente nel file del database.
- Stampa i dettagli dello studente se trovato.
- `update_student ()`:
- richiede all'utente di inserire un ID studente.
- Trova lo studente nel file del database.
- richiede all'utente di inserire nuovi dettagli.
- Aggiorna i dettagli dello studente nel file del database.
- `delete_student ()`:
- richiede all'utente di inserire un ID studente.
- Elimina lo studente dal file di database.
3. Menu principale:
- Utilizza un loop `mentre True` per visualizzare un menu di opzioni.
- Legge la scelta dell'utente usando `leggi".
- Utilizza un'istruzione `case` per eseguire la funzione corrispondente in base alla scelta.
- Esce al ciclo e allo script se l'utente sceglie l'opzione 6.
per usare lo script:
1. Salva il codice come file, ad esempio, `Student_db.sh`.
2. Rendi eseguibile lo script:`chmod +x studente_db.sh`
3. Esegui lo script:`./Student_db.sh`
4. Seguire le richieste di menu per eseguire operazioni nel database Student.
Nota:
- Il file di database `studenti.txt` verrà creato nella stessa directory dello script.
- Il file di database utilizza un formato separato da virgola:`nome, id, major`.
- È possibile personalizzare lo script per aggiungere più funzionalità, come l'ordinamento, il filtraggio o l'esportazione di dati in altri formati.
funzione per eliminare uno studente
Menu principale
Informazioni correlate
software © www.354353.com