Shell Unix en C inspire de tcsh : execution de commandes, pipes, redirections, variables, alias, historique et completion, ecrit en groupe from scratch.
Telecharger & tester
make puis ./42sh (lance le shell interactif, ou ./42sh script.sh pour executer un script)
42sh est un projet Epitech (Tek1, groupe de 4-5) : ecrire un shell Unix complet en C, avec tcsh comme reference de compatibilite et de syntaxe. Objectif : la stabilite prime sur la quantite de fonctionnalites.
Le shell gere l'execution de commandes externes et internes, les pipes et redirections, les variables locales et d'environnement, les variables speciales (term, cwd, ignoreof...), l'historique (!), les alias (alias ls "ls --color"), les globbings (*, ?, [ ]), le controle de jobs (&, fg, bg), les backticks et les parentheses.
Une attention particuliere est portee a l'edition de ligne : saisie multi-ligne, rebinding dynamique des touches et auto-completion, ce qui demande de gerer le terminal en mode brut (ncurses) en plus du parsing shell classique.
Seules les fonctions de la libC et de la ncurses sont autorisees. Le projet impose aussi une bonne organisation d'equipe : repartition du travail, tests unitaires au fil de l'eau, et usage serieux de Git (branches, commits frequents) pour qu'aucune partie ne devienne une boite noire pour le reste du groupe.
Projet suivant
