Minishell es un proyecto que consiste en la implementación de un shell simple similar a Bash. Su desarrollo permite comprender el funcionamiento de procesos, tuberías, redirecciones y la gestión de señales en un entorno UNIX.
- Necesitamos tener make instalado para poder ejecutarlo.
- Lenguaje: C
- Librerías externas permitidas:
readline,printf,malloc,free,write,fork,execve,pipe,wait,signal, entre otras. - Se debe respetar la Norminette.
- No se permiten fugas de memoria.
- Muestra un prompt interactivo para recibir comandos.
- Implementa un historial de comandos.
- Ejecuta binarios basados en la variable de entorno
PATHo mediante rutas absolutas/relativas. - Manejo de comillas simples y dobles.
- Soporte para variables de entorno y el código de salida
$?. - Implementación de redirecciones (
<,>,>>,<<). - Soporte para pipes (
|). - Manejo de señales como
Ctrl+C,Ctrl+D,Ctrl+\. - Implementación de los siguientes builtins:
echo(con opción-n)cd(con rutas absolutas y relativas)pwdexportunsetenvexit
Clonar el repositorio y compilar el proyecto:
git clone https://github.com/egomez-g/mini_shell.git
cd mini_shell
makeEjecutar el shell con:
./minishellEjecutar comandos de bash para ver funcionalidad Exit para salir:
exit