• [^] # Re: Des idées de programme C

    Posté par (site web personnel, Mastodon) . En réponse au journal Des idées de programme C. Évalué à 1.

    les commandes ls, cp, mv, ne font pas parties du shell....

    j'ai écris un petit shell en mini projet en cours cette année, il gérait &&, &, <, >, >>, 2>, |, ||, * et ? dans le basename (merci fnmatch), le multipipe (n pipes), les jobs, changement de prompt...., il manquait pas grand choses pour les alias. J'avoue que c'était rudimentaire mais ca marchait bien dans l'ensemble mais pas trop eu le temps de m'attarder, je l'ai pondu en à peu près 35-40 heures réparties sur un long week-end (du vendredi soir au dimanche soir)...

    il fonctionnait grâce à un automate à ETATS, bien pratique pour ce genre de truc, un conseil : ne pas tenter le découpage de la ligne de commande pour en extraire des tâches... je m'y suis aventuré et c'est galère....

    J'avais regardé les sources de bash, et csh... j'ai pas tout compris....

    le fait est qu'il faut en autre maitriser le pipe, avoir compris dup, dup2, les descripteurs de fichiers, l'execution de processus (execvp).

    De plus, pour la complétion, je ne me suis pas embêter, j'utilisais readline et history de Readline....

    mais il y'a plein trucs à gérer, pour que ce soit fonctionnel car quand je le lançait, il héritait des variables d'environement du shell qui l'éxécutait (pour moi bash), j'avais même essayé de le mettre dans mon /etc/passwd mais impossible de se loguer, peut être que certaines variables d'envrironnement etait manquantes, mais pas trop eu le temps de chercher à l'époque...

    bon courage et c'est vrai que ce sera un bon projet d'initiation au C et à au fonctionnement interne des unices ....