Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gemartin99/minishell
The objective of this project is create a simple shell in C with redirections, pipes, environment variables and builtins
https://github.com/gemartin99/minishell
42commoncore 42cursus 42minishell 42projects educational-project minishell minishell42
Last synced: 7 days ago
JSON representation
The objective of this project is create a simple shell in C with redirections, pipes, environment variables and builtins
- Host: GitHub
- URL: https://github.com/gemartin99/minishell
- Owner: gemartin99
- Created: 2022-07-07T11:48:41.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-05-26T21:26:44.000Z (over 1 year ago)
- Last Synced: 2023-05-26T22:23:30.674Z (over 1 year ago)
- Topics: 42commoncore, 42cursus, 42minishell, 42projects, educational-project, minishell, minishell42
- Language: C
- Homepage:
- Size: 2.5 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🐚 Minishell
## Descripción
El objetivo del proyecto es desarrollar una shell , es decir, un intérprete de líneas de comandos de forma sencilla y completa. Utilizando las técnicas y conocimientos adquiridos durante el curso.
La shell es una parte fundamental del sistema operativo y es la encargada de procesar los comandos que el usuario escribe en la consola o terminal.El proyecto minishell se divide en varias partes:
1️⃣ → Análisis de la línea de comandos: en esta parte, se debe dividir la línea de comandos en distintos tokens (palabras), teniendo en cuenta las distintos espacios y caracteres especiales.
2️⃣ → Ejecución de comandos: una vez analizada la línea de comandos, se debe determinar el comando a ejecutar y sus argumentos. Luego, se debe utilizar la función execve() para ejecutar el comando en el sistema o ejecutar tu función propia si es un builtin.
3️⃣ → Gestión de errores: es importante gestionar los errores que puedan surgir durante el proceso de análisis y ejecución de la línea de comandos.
4️⃣ → Gestión de redirecciones: se deben implementar las redirecciones de entrada y salida (>, <, >>, <<) para poder redirigir la entrada y salida de los comandos a archivos.
5️⃣ → Gestión de pipes: se deben implementar los pies | para poder encadenar varios comandos y enviar la salida de un comando como entrada del siguiente.
## Uso
1- Descargar/clonar el repositorio
```git clone https://github.com/gemartin99/Minishell.git```
2- Acceder al repositorio
```cd Minishell```
3- Compilar
```make```
4- Ya podrás ejecutar el programa
```./minishell```
![](https://github.com/gemartin99/Minishell/blob/master/minishell.gif)
## Partner 👨🏻💻
# Quizás pueda interesarte!
### - Para ver mi progresion en el common core 42 ↙️
[AQUÍ](https://github.com/gemartin99/42cursus)
### - Mi perfil en la intranet de 42 ↙️
[AQUÍ](https://profile.intra.42.fr/users/gemartin)### - Contacto 📥
◦ Email: [email protected]
◦ Linkedin: https://www.linkedin.com/in/gemartin99/