[langage C] script shell

bobi14 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
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.
A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
bobi14 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   8
 
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