[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. 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
      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