Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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 👨🏻‍💻


100px
smiro

Intra 42

# 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/