Passage de variable entre C et le shell via la fonction systeme()
Bonjour,
Je voudrais faire passer une variable de mon programme C vers une commande shell auquelle je fais appel par le biais de la fonction systeme().
en fait j'ai une variable numero qui est utilisé dans mon programme C et que je veux utiliser avec la commande echo du shell.
voila l'appel
systeme("echo 'at $numero' > /");
Mon probleme est que je n'arrive pas à avoir la valeur de la variable numero issu de mon programme C.
Est ce que quelqu'un peut m'aider.
Je vous remercie d'avance.
Utilisation de putenv pour modifier l'environnement
Une autre solution, modifier l'environnement du programme en cours d'exécution qui sera passé au shell, ce qui donne :
Le programme C numero.c
Code:
1 2 3 4 5 6 7 8 9
|
int main (int argc, char **argv)
{
int numero = 10;
char buf[100];
snprintf(buf,sizeof(buf),"numero=%d",numero);
putenv(buf);
system("./numero.sh");
} |
Le shell numero.sh
Code:
1 2 3
|
#! /bin/bash
echo "numero = $numero" |