Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell

Shell Vos questions sur l'utilisation des commandes shell

Réponse
 
Outils de la discussion
Vieux 30/10/2008, 22h13   #1 (permalink)
Membre à l'essai
 
Date d'inscription: octobre 2008
Localisation: Lille
Âge: 22
Messages: 47
Par défaut Creer un mini shell

Bonjour,
ma demande sera bizarre, si je recevrai un message qui dit c'est quoi cette ce demande je n'aurai pas de problème; mais voila j'ai un projet a rendre le moi 12 dans le cours de système, le projet est de créer un mini shell dont programmer "presque" tous les commandes de shell(ne pas utiliser le mot exec dans le programme" on utilisant langage C!tout simplement je sais pas d'où commencer, si vous avez des propositions pour la conception, la méthode a suivre, la logique a suivre ...seront vraiment les bienvenue...merci par avance
midotek est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 31/10/2008, 09h06   #2 (permalink)
Membre Confirmé
 
Date d'inscription: septembre 2007
Localisation: Genève
Âge: 45
Messages: 272
Par défaut

Bonjour,

Je crois que le mieux est de faire man bash pour te rendre compte de ce que fait un shell. Ne prends pas peur malgré les dizaines de pages à lire. Tu remarqueras que les commandes comme sed, awk, diff, host, ls... ne font pas partie du shell et sont donc appelées comme des programmes externes: system(...). Par contre le shell gère:
  • les variables,
  • le prompt,
  • les redirections (>, >>, <<, <<-, &>, 1>...),
  • les expansions (~, ${var#pattern}, $(cmd), *...),
  • les commandes de programmations (if, for, select, while, until...)
  • ...
Mais avant tout, le shell est un interpréteur: il doit couper la commande en "mots", lancer les programmes et leur fournir les arguments, récupérer les valeurs de retour et les passer au programme suivant (dans le cas d'un pipe). Je crois que c'est là-dessus qu'il faut insister. Il y aura donc des appels system(...), mais c'est après que le travail devient intéressant... Bon courage!
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 31/10/2008, 21h01   #3 (permalink)
Membre éprouvé
 
Date d'inscription: octobre 2008
Âge: 30
Messages: 416
Par défaut

Quand j'étais en école d'ingé j'ai eu un mini shell à programmer. Ce qu'on nous demandait était très limité : exécution de commandes en premier plan et en background (avec &), redirections (<, >, >&), pipe (|), et built-in "cd" pour changer de répertoire. Avec ça tu as un shell minimal, mais complètement utilisable.

Après si tu veux ajouter les construction du genre if, for, ... C'est une autre histoire.
matafan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/11/2008, 20h12   #4 (permalink)
Membre à l'essai
 
Date d'inscription: octobre 2008
Localisation: Lille
Âge: 22
Messages: 47
Par défaut

bonjour,
merci a vous, j'ai commencé a voir le chemin, le probléme c'est que je savais pas que il existe la programmation séparée et surtout le makefile!
midotek est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/11/2008, 03h21   #5 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: octobre 2008
Messages: 21
Par défaut

Citation:
Envoyé par midotek Voir le message
bonjour,
merci a vous, j'ai commencé a voir le chemin, le probléme c'est que je savais pas que il existe la programmation séparée et surtout le makefile!
J'ai peut-être raté un concept de programmation, mais je crois que tu te trompes. On parle de compilation séparée et de programmation modulaire.
mcoolive est déconnecté   Envoyer un message privé Réponse avec citation
NEWS LINUX PROFESSIONNELFAQ LINUXTUTORIELS LINUXLIVRES LINUXLINUX TVUNIXGTK+QtAPACHE

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide