{"id":18123193,"url":"https://github.com/gemartin99/minishell","last_synced_at":"2025-07-25T16:34:39.263Z","repository":{"id":43671181,"uuid":"511506217","full_name":"gemartin99/Minishell","owner":"gemartin99","description":"The objective of this project is create a simple shell in C with redirections, pipes, environment variables and builtins ","archived":false,"fork":false,"pushed_at":"2023-05-26T21:26:44.000Z","size":2625,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-21T23:54:44.894Z","etag":null,"topics":["42commoncore","42cursus","42minishell","42projects","educational-project","minishell","minishell42"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gemartin99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-07T11:48:41.000Z","updated_at":"2025-03-10T12:14:57.000Z","dependencies_parsed_at":"2025-04-14T23:03:44.875Z","dependency_job_id":"9eb46bb1-9de7-485b-8309-36b4033f47d8","html_url":"https://github.com/gemartin99/Minishell","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gemartin99/Minishell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemartin99%2FMinishell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemartin99%2FMinishell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemartin99%2FMinishell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemartin99%2FMinishell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gemartin99","download_url":"https://codeload.github.com/gemartin99/Minishell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemartin99%2FMinishell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259462559,"owners_count":22861512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42commoncore","42cursus","42minishell","42projects","educational-project","minishell","minishell42"],"created_at":"2024-11-01T07:08:29.596Z","updated_at":"2025-06-12T12:08:55.362Z","avatar_url":"https://github.com/gemartin99.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐚 Minishell\n\n## Descripción\n\nEl 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. \nLa 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.\n\nEl proyecto minishell se divide en varias partes:\n\n1️⃣ → 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.\n\n2️⃣ → 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.\n\n3️⃣ → 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.\n\n4️⃣ → Gestión de redirecciones: se deben implementar las redirecciones de entrada y salida (\u003e, \u003c, \u003e\u003e, \u003c\u003c) para poder redirigir la entrada y salida de los comandos a archivos.\n\n5️⃣ → 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.\n\n## Uso\n\n1- Descargar/clonar el repositorio\n\n```git clone https://github.com/gemartin99/Minishell.git```\n\n2- Acceder al repositorio\n\n```cd Minishell```\n\n3- Compilar\n\n```make```\n\n4- Ya podrás ejecutar el programa\n\n```./minishell```\n\n![](https://github.com/gemartin99/Minishell/blob/master/minishell.gif)\n\n## Partner 👨🏻‍💻\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/sebamiro/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/88943673?v=4\" width=\"100px;\" alt=\"100px\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esmiro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://profile.intra.42.fr/users/smiro\" title=\"Intra 42\"\u003e\u003cimg src=\"https://img.shields.io/badge/Barcelona-FFFFFF?style=plastic\u0026logo=42\u0026logoColor=000000\" alt=\"Intra 42\"/\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n# Quizás pueda interesarte!\n\n### - Para ver mi progresion en el common core 42 ↙️\n\n[AQUÍ](https://github.com/gemartin99/42cursus)\n\n### - Mi perfil en la intranet de 42 ↙️\n[AQUÍ](https://profile.intra.42.fr/users/gemartin)\n\n### - Contacto 📥\n\n◦ Email: gemartin@student.42barcelona.com\n\n◦ Linkedin: https://www.linkedin.com/in/gemartin99/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemartin99%2Fminishell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgemartin99%2Fminishell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemartin99%2Fminishell/lists"}