#!/bin/bash
archivo de base de datos
Db_file ="Students.txt"
función para agregar un nuevo estudiante
add_student () {
# Solicitud para los detalles del estudiante
Leer -P "Ingrese el nombre del estudiante:" Nombre
Leer -P "Ingrese la identificación del estudiante:" ID
Leer -P "Ingrese al estudiante Mayor:" Mayor
# Agregar detalles del estudiante al archivo de la base de datos
echo "$ Name, $ id, $ mayor">> "$ db_file"
Echo "¡Estudiante agregado con éxito!"
}
Función para enumerar a todos los estudiantes
list_students () {
# Verifique si existe el archivo de la base de datos
si [ ! -f "$ db_file"]; entonces
Echo "No hay estudiantes en la base de datos".
devolver
FI
# Imprimir detalles del estudiante desde el archivo de la base de datos
echo "Nombre | ID | Mayor"
echo "----- | ---- | -----"
Cat "$ db_file" | mientras que ifs =, lea el nombre de identificación de nombre; hacer
echo "$ name | $ id | $ mayor"
hecho
}
Función para buscar un estudiante por identificación
Search_student () {
# Solicitud para la identificación del estudiante
Leer -P "Ingrese la identificación del estudiante:" ID
# Buscar al estudiante en el archivo de la base de datos
Grep ", $ id," "$ db_file" | mientras que ifs =, lea el nombre de identificación de nombre; hacer
echo "Nombre:$ Nombre"
Echo "ID:$ ID"
Echo "Mayor:$ mayor"
devolver
hecho
Echo "Estudiante no encontrado".
}
Función para actualizar los detalles de un estudiante
update_student () {
# Solicitud para la identificación del estudiante
Leer -P "Ingrese la identificación del estudiante:" ID
# Buscar al estudiante en el archivo de la base de datos
Grep ", $ id," "$ db_file"> tmp.txt
si [$? -ne 0]; entonces
Echo "Estudiante no encontrado".
devolver
FI
# Solicitud para nuevos detalles
Leer -P "Ingrese el nuevo nombre (deje en blanco para mantener la actualidad):" New_name
Leer -P "Ingrese el nuevo Mayor (deje en blanco para mantener la actualidad):" New_Major
# Actualizar los detalles del estudiante en un archivo temporal
mientras que ifs =, lea el nombre Old_id Major; hacer
if ["$ old_id" =="$ id"]; entonces
if [-n "$ new_name"]; entonces
nombre ="$ new_name"
FI
if [-n "$ new_major"]; entonces
Major ="$ new_major"
FI
FI
echo "$ Nombre, $ Old_id, $ Major"
hecho
rm tmp.txt
Echo "Estudiante actualizado con éxito!"
}
delete_student () {
# Solicitud para la identificación del estudiante
Leer -P "Ingrese la identificación del estudiante:" ID
# Eliminar el estudiante del archivo de la base de datos
GREP -V ", $ id," "$ db_file"> tmp.txt
mv tmp.txt "$ db_file"
Echo "Estudiante eliminado con éxito!"
}
mientras que es cierto; hacer
echo "Menú de la base de datos de estudiantes"
Echo "1. Agregar estudiante"
Echo "2. Lista de estudiantes"
Echo "3. Buscar al estudiante"
Echo "4. Actualizar estudiante"
Echo "5. Eliminar alumno"
echo "6. Salir"
Leer -P "Ingrese su elección:" Elección
Caso "$ elección" en
1) add_student;;
2) list_students;;
3) Search_student;;
4) update_student;;
5) Delete_student;;
6) Salir 0;;
*) echo "elección inválida. Por favor intente nuevamente";;
ESAC
hecho
`` `` ``
Explicación:
1. Inicialización:
- `#!/bin/bash`:define el intérprete de script como Bash.
- `db_file =" Students.txt "`:Establece el nombre del archivo de la base de datos.
2. Funciones:
- `add_student ()`:
- solicita al usuario que ingrese los detalles del alumno.
- Agrega los detalles al archivo de la base de datos.
- `list_students ()`:
- Comprueba si existe el archivo de la base de datos.
- Imprime detalles del estudiante en una tabla formateada.
- `Search_student ()`:
- Le pide al usuario que ingrese una identificación de estudiante.
- Búsqueda del estudiante en el archivo de la base de datos.
- Imprime los detalles del alumno si se encuentra.
- `update_student ()`:
- Le pide al usuario que ingrese una identificación de estudiante.
- Encuentra al estudiante en el archivo de la base de datos.
- solicita al usuario que ingrese nuevos detalles.
- Actualiza los detalles del alumno en el archivo de la base de datos.
- `delete_student ()`:
- Le pide al usuario que ingrese una identificación de estudiante.
- Elimina al estudiante del archivo de la base de datos.
3. Menú principal:
- Utiliza un bucle `while true` para mostrar un menú de opciones.
- Lee la elección del usuario usando 'Read`.
- Utiliza una declaración `Case` para ejecutar la función correspondiente en función de la elección.
- Salga del bucle y script si el usuario elige la opción 6.
Para usar el script:
1. Guarde el código como un archivo, por ejemplo, `student_db.sh`.
2. Haga que el script sea ejecutable:`chmod +x student_db.sh`
3. Ejecute el script:`./Student_db.sh`
4. Siga las indicaciones del menú que realicen operaciones en la base de datos del estudiante.
nota:
- El archivo de la base de datos `standers.txt` se creará en el mismo directorio que el script.
- El archivo de la base de datos utiliza un formato separado por comas:`Nombre, ID, Major`.
- Puede personalizar el script para agregar más características, como clasificar, filtrar o exportar datos a otros formatos.
función para eliminar un estudiante
Menú principal