No description
- C 97.4%
- Makefile 2.6%
| cd.c | ||
| exit.c | ||
| export.c | ||
| ls.c | ||
| main.c | ||
| Makefile | ||
| mkdir.c | ||
| outils.h | ||
| pwd.c | ||
| README.txt | ||
| shell | ||
------ Compiler et exécuter mon programme ------
make
./shell
------------------------------------------------
------- Ce que contient mon shell --------
- J'ai fait toute la partie du TP3.
- J'ai ajouté les fonctionnalités suivante qui étaient sur Moodle :
1. gérer les expansions de `~` et `*` ; (* ne marhe pas)
2 . ajouter un builtin `export` pour les variables d'environnement ;
3. gérer les expansions de variables d'environnement (`$USER` est remplacée par le login par exemple) ;
- les commande disposnible dans mon shell :
help
ls
exit
cd
pwd
export
mkdir
~
- Les commandes que j’ai testées et qui fonctionnent :
ls | grep .c
echo $USER
echo $HOME
cd ~
cat
ctrl + c
----------------------------------------------------------------------------------------------------
Les sources ou codes externes que j’ai utilisés sont ajoutés directement dans le code en commentaire
----------------------------------------------------------------------------------------------------
-------------------- Question TP3-----------------
Exercice 2.
1. Étant donnée notre struct command, quelle fonction exec* va-t-on utiliser ?
****
execvp. : remplacer le programme courant par une nouvelle commande.
****
Ex 3 : 2
****
pour parser les deux commandes :
s_cmd1 = buf commence au debut de la ligne, avant le |
s_cmd2 = pipe + 1 : commence juste apres le |
parse_cmd(s_cmd1, strlen(s_cmd1))
parse_cmd(s_cmd2, strlen(s_cmd2))
****