Aide sur un executable

Résolu
sergioramos04 -  
dindoun Messages postés 1047 Statut Membre -
Bonjour,
comment obtenir un executable d'un script shell (comme .exe en windows)
en tappant ./nom_programme ,on obtient un executable ,alors j'ai pensé à ecrire une fonction c qui appelle le script shell en donnant un executable en c
aidez moi et merci bcp
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    en tapant ./nom_programme ,on obtient un executable

    Non. Cette commande permet de lancer un exécutable appelé nom_programme, mais en soit il faut que ce script ait les droits en exécution pour devenir un exécutable a proprement parlé, par exemple en tapant :
    chmod a+x mon_programme


    alors j'ai pensé à ecrire une fonction c qui appelle le script shell en donnant un executable en c 


    Alors attention contrairement à un script shell, un programme écrit en langage C doit être compilé. Cela signifie que tu as un fichier source (par exemple plop.c) que tu compiles avec gcc pour produire un executable (par exemple plop). Supposons que mon fichier plop.c contienne :
    #include <stdio.h>
    
    int main(){
      printf("pouet !\n");
      return 0;
    }

    Je le compile pour produire un exécutable plop :
    gcc -W -Wall -o plop plop.c 

    Du coup je peux lancer le programme plop :
    ./plop

    Tu peux via un programme en C appeler un exécutable à l'aide de la commande execve ou execvp (fais une petite recherche google pour voir des exemples), comme par exemple un script shell.

    Bonne chance
    1
  2. dindoun Messages postés 1047 Statut Membre 135
     
    salut
    petit rajout

    créons un fichier essai :
    touch essai
    ls -al essai
    nous donne :
    -rw-r--r-- 1  0 2008-12-18 14:44 essai

    après
    chmod a+x essai
    on a
    ls -al essai
    -rwxr-xr-x 1 login groupe 0 2008-12-18 14:44 essai

    tu vois que x a été rajouté trois fois ( grace au a ) ce qui signifie qu'il devient exécutable
    en tapant ./essai
    deuxime précision

    sous linux les fichiers exécutables shell ressemblent plus aux fichier .bat de windows mais en plus puissant ( d'où l'intéret de linux ) ce qui permet de fonctionner avec des fichiers lisibles humainenemnt car les fichiers shell sont des fichiers textes exécutés par le programme sh ( ou csh ... )
    0