“Conocimiento software>Software de base de datos

¿Cómo se escribe un script de shell para la base de datos de estudiantes?

2014/2/6
`` `Bash

#!/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 "$ db_file"

rm tmp.txt

Echo "Estudiante actualizado con éxito!"

}

función para eliminar un estudiante

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!"

}

Menú principal

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.

Software de base de datos
Cómo consultar un XSD
¿Qué se utiliza para la fuente de automatización de datos?
Microsoft Access vs. SQL Server
¿Qué es un parámetro de SQL
Comparar los sistemas de bases de datos no relacionales con sistemas de bases de datos relacionales
Cómo quitar Sombra de Apple Numbers
Cómo calcular el tiempo transcurrido Access 2007
Acceso: File Lock LDB no desaparecerá
Conocimiento de la computadora © http://www.ordenador.online