[langage C] script shell
bobi14
Messages postés
67
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 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.
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
-
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. -
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. -
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...