Este proyecto es una implementación personalizada de una shell en C, centrada en la simulación del comportamiento de bash y la manipulación avanzada de procesos y file descriptors.
Con una calificación del 125%, Minishell sobresale como una recreación avanzada y completa de una shell en C, cumpliendo y extendiendo los requisitos iniciales. Este logro incluye funcionalidades de bonus como la gestión avanzada de wildcards y la implementación de la variable de bash $$
, destacando un dominio en la manipulación de procesos y file descriptors. Este proyecto no solo demuestra una ejecución técnica impecable sino también una estricta adherencia a las normas de codificación, evidenciando habilidades avanzadas en sistemas Unix/Linux y programación en C.
- Interfaz Elegante: Un prompt dinámico que invita a la exploración.
- Historial Profundo: Navega a través de tus comandos con un historial funcional.
- Ejecución Precisa: La precisión en la ejecución de comandos, ya sea por PATH o rutas específicas.
- Gestión de Señales: Implementación intuitiva de ctrl-C, ctrl-D y ctrl-.
- Operadores Lógicos: Implementación avanzada de
&&
,||
y paréntesis. - Wildcards Universal: Extensión de los wildcards más allá del directorio actual, hacia cualquier parte del sistema.
- Variable Bash $$: Innovación en la gestión de la variable
$$
, ofreciendo una experiencia única. - Gestión Avanzada de Wildcards: Un paso más allá en la funcionalidad de wildcards, llevándolos a cualquier directorio.
- Lenguaje C: La base de nuestro proyecto, escogido por su potencia y control.
- Libft: Nuestra propia biblioteca de funciones, demostrando habilidades fundamentales en C.
- Makefile: Simplificación del proceso de compilación, garantizando eficiencia.
Clona este repositorio y sumérgete en la experiencia Minishell:
git clone [tu-repositorio-aquí]
cd minishell
make
./minishell
Este proyecto fue llevado a cabo con la colaboración de mi compañero, cuyo esfuerzo y dedicación fueron fundamentales para su éxito: