[langage C] script shell

Bonjour,

Je souhaiterais exécuter un petit script shell (4 lignes) dans mon programme en C.
Je sais que l'on peut exécuter une commande de shell avec popen mais comment puis je faire avec un script de plusieures lignes?

Mon script shell possède une commande simple suivie d'une condition sur le résultat de cette commande....

Merci d'avance pour votre aide.

3 réponses

  1. Contributeur
    Il faut passer à system le nom du script comme paramètre:

    system("/path/nom_du_script");

    popen cée un pineline avec le prog. appellant, pas system.
    4
    1. En fait popon s'utilise un peu de la même manière que system.
      Mais mon problème est que mon script ne contient pas qu'une seule commande. C'est une commande suivie d'un if sur le code de retour ($?) de cette commande.

      Je ne vois pas trop comment faire...
      0
      1. Contributeur
        voir system

        NAME
        system - execute a shell command
        SYNOPSIS

        #include <stdlib.h>

        int system(const char *command);

        DESCRIPTION
        system() executes a command specified in command by calling /bin/sh -c command, and returns after the command has been completed. During execution of the command, SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored.
        0