raveriss / minishell

Minimalist C shell, simulating basic bash functionality. It manages command execution with support for history, redirects, pipes, environment variables and signals. This project allows us to deepen the understanding of processes, file descriptors,

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projet minishell

Badge du projet minishell

Capture d'écran de minishell

Description

Ce projet a pour but de créer une version simplifiée du shell Unix. Cela inclut l'interprétation des commandes, la gestion de l'environnement, ainsi que l'exécution de commandes externes.

Tableau des Composants du Projet

Fichier Description Responsabilité Statut
main.c Fichier principal, contient la logique de haut niveau Initialisation, boucle d'interprétation Complet
parser.c Analyse les commandes entrées par l'utilisateur Parsing de commandes Complet
executor.c Exécute les commandes analysées Exécution de commandes Complet
env_manager.c Gère les variables d'environnement Manipulation de l'environnement Complet
builtin_commands.c Implémente les commandes internes du shell (ex : cd, echo) Commandes internes Complet
utils.c Fonctions utilitaires Fonctions auxiliaires Complet
Makefile Fichier pour compiler le projet Compilation Complet
minishell.h Fichier d'en-tête contenant les déclarations et les macros Déclarations Complet

Installation et Compilation

git clone git@github.com:raveriss/minishell.git
cd minishell
make

Utilisation

./minishell

Options

Aucune option disponible pour ce projet.

Caractéristiques

  • Interprétation des commandes
  • Gestion des variables d'environnement
  • Exécution de commandes externes
  • Implémentation de commandes internes
  • Gestion des signaux

Fonctions externes autorisées

  • malloc
  • free
  • read
  • write
  • open
  • close
  • fork
  • execve
  • wait
  • waitpid
  • signal

Ressources utilisées

About

Minimalist C shell, simulating basic bash functionality. It manages command execution with support for history, redirects, pipes, environment variables and signals. This project allows us to deepen the understanding of processes, file descriptors,


Languages

Language:C 98.1%Language:Makefile 1.9%