[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: a.out et le bash



Au fait, je crois qu'il y a un petit problème dans la terminologie de ta question.  "Bash" est l'interpréteur de shell, un peu comme l'équivalent de command.com sous DOS.  Certaines commandes sont intégrées, la majorité sont des programmes qui sont exécutés.  Pour connaître la différence, la commande "$type NomDeProgramme" le dit.. (ex: "$type echo", "$type ls")

Si tu veux exécuter ton programme en tapant "$ a.out", le fichier doit être dans ton $PATH ("$echo $PATH" pour l'examiner).  Mais la façon la plus simple, surtout pour un petit programme dans un répertoire bidon, c'est:

$ egcs fichier.c -o fichier  # ça compile le fichier et donne comme nom d'exécutable  "fichier"
$ ./fichier  # exécute le fichier.  La différence avec DOS, c'est que le répertoire courant n'est pas dans le $PATH (malgré que tu peux le rajouter, mais c'est pas très pratique)

Dernière chose, "exec" est une commande qui substitue le processus courant par le programme que tu veux lancer.  Donc si par exemple tu es dans un shell (xterm, console, etc..), tu es probablement dans l'interpréteur "bash" et si tu fais "$exec ./fichier", lorsque le programme fichier sera terminé ton xterm/console risque de fermer, car tu as remplacé le shell par ton programme.

Je l'ai expliqué de façon un peu vague, mais c'est juste pour te prévenir au cas où que tu le savais pas. Il y a toujours "$man exec" qui donne des bonnes références.

Mathieu Lutfy