[langage C] script shell

Fermé
bobi14 Messages postés 67 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 4 novembre 2007 - 2 mai 2007 à 15:38
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 3 mai 2007 à 09:52
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
3 mai 2007 à 09:52
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
2 mai 2007 à 16:01
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 vendredi 23 février 2007 Statut Membre Dernière intervention 4 novembre 2007 8
2 mai 2007 à 17:17
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