Bonjour,
Je sais que ce sujet a déjà fait l'objet de plusieurs post.
Mais la réponse n'est hélas jamais claire!
J'ai le script shell 'monshell' suivant:
Et j'ai le programme C suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #!/bin/ksh ex=-1 exit $ex
Si dans le script shell je fais varier la valeur de l'exit (par exemple, ex = -2, -1, 0, 1, ou 2), je ne réussis jamais à récupérer ces valeurs dans mon programme C !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdio.h> #include <stdlib.h> void main (void) { int rc, wrc; rc = system ("monshell"); printf ("system returns %d", rc); wrc = WEXITSTATUS (rc); printf ("WEXITSTATUS returns %d", wrc); /* ex = ??? */ }
Comment faire pour récupérer la valeur de « ex » ?
En fait, j'ai l'impression d'avoir ceci :
Mais alors comment récupérer la valeur de « ex » à partir de la valeur « rc » et/ou « wrc » ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Si ex < 0 rc = 65536 + 256 * ex wrc = 256 + ex Sinon rc = 256 * ex wrc = ex FinSi
Merci.
Partager