Skip to content

Programa que actúa como intérprete de mandatos. El minishell interpreta y ejecuta mandatos leyéndolos de la entrada estándar: ejecuta una secuencia de uno o varios mandatos separados por el carácter '|'. Permitir redirecciones (entrada, salida y error), y ejecución en background.

Notifications You must be signed in to change notification settings

Mvrtn-design/Mini-Shell-Interprete-de-mandatos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Mini-Shell-Interprete-de-mandatos

Se implementa que programa que actúa como intérprete de mandatos. El minishell interpreta y ejecuta mandatos leyéndolos de la entrada estándar. En definitiva, el interprete es capaz de:

  • Ejecutar una secuencia de uno o varios mandatos separados por el carácter '|'.

  • Permitir redirecciones:

    • Entrada: < fichero. Sólo puede realizarse sobre el primer mandato del pipe.

    • Salida: > fichero. Sólo puede realizarse sobre el último mandato del pipe.

    • Error: > & fichero. Sólo puede realizarse sobre el último mandato del pipe.

  • Permitir la ejecución en background de la secuencia de mandatos si termina con el carácter `&'. Para ello, el minishell muestra el pid del proceso por el que espera entre corchetes, y no bloquearse por la ejecución de dicho mandato (es decir, no espera a mostrar el prompt a su terminación).

A grandes rasgos, el programa hace:

  • Muestra en pantalla un prompt (los símbolos msh > seguidos de un espacio).
  • Leer una línea del teclado.
  • Analiza esa línea utilizando la librería parser .
  • Ejecuta todos los mandatos de la línea a la vez creando varios procesos hijo y comunicando unos con otros con las tuberías que sean necesarias, y realizando las redirecciones que sean necesarias. En caso de que no se ejecute en background.
  • Reconoce y ejecutar en foreground líneas con un solo mandato y 0 o más argumentos.

Teniendo en cuenta lo siguiente:

  • Si la línea introducida no contiene ningún mandato o se ejecuta el mandato en background,se volverá a mostrar el prompt a la espera de una nueva línea.
  • Se mostrará un mensaje de error cuando: . Si alguno de los mandatos a ejecutar no existe. . Si se produce algún error al abrir cualquiera de los ficheros de las redirecciones.
  • Ni el minishell ni los procesos en background analizarán las señales desde teclado SIGINT (Ctrl + C) y SIGQUIT (Ctrl +/).

About

Programa que actúa como intérprete de mandatos. El minishell interpreta y ejecuta mandatos leyéndolos de la entrada estándar: ejecuta una secuencia de uno o varios mandatos separados por el carácter '|'. Permitir redirecciones (entrada, salida y error), y ejecución en background.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages