Description
L'objectif de ce projet est de créer un simple shell.
Project en collaboration avec Jérôme Desbordes (jdesbord).
Votre shell doit :
- Afficher un prompt en l’attente d’une nouvelle commande
- Chercher et lancer le bon executable (basé sur une variable d’environnement PATH ou en utilisant un path absolu), comme dans bash
- Vous devez implémenter les builtins suivants :
echo
et l’option’-n’
cd
uniquement avec un chemin absolu ou relatifpwd
sans aucune optionexport
sans aucune optionunset
sans aucune optionenv
sans aucune option ni argumentexit
sans aucune option
- ; dans la ligne de commande doit séparer les commandes
- ’ et " doivent marcher comme dans bash, à l’exception du multiligne.
- Les redirections <, > et “>>” doivent marcher comme dans bash, à l’exception des aggrégations de fd
- Pipes | doivent marcher comme dans bash
- Les variables d’environnement
($ suivi de caractères)
doivent marcher comme dans bash. - $? doit marcher comme dans bash
ctrl-C
,ctrl-D
etctrl-\
doivent afficher le même résultat que dans bash.