OVH Cloud OVH Cloud

recupération d'une variable

2 réponses
Avatar
Akeu
bonjour,
je developpe un logiciel en c et je voudrais l'intégrer dans un fichier
batch mais j'aimerai savoir comment renvoyer une valeur au batch.
dans le logiciel comme on renvoie une valeur , j'ai essayé:
int main (....
{
return 2;
}
puis
toto= ./monlogiciel
mais toto est vide
puis j'ai essayé:
int main (...
{
system ("toto=2");
}
et c'est pareil
alors comment faire ?

2 réponses

Avatar
Jean-Louis Liagre
Akeu wrote:
bonjour,
je developpe un logiciel en c et je voudrais l'intégrer dans un fichier
batch mais j'aimerai savoir comment renvoyer une valeur au batch.
dans le logiciel comme on renvoie une valeur , j'ai essayé:
int main (....
{
return 2;
}
puis
toto= ./monlogiciel
mais toto est vide
puis j'ai essayé:
int main (...
{
system ("toto=2");
}
et c'est pareil
alors comment faire ?





main()

{
printf("2");
}


toto="$(./monlogiciel)"

Avatar
Stephane Chazelas
2006-02-21, 08:43(+00), Akeu:
bonjour,
je developpe un logiciel en c et je voudrais l'intégrer dans un fichier
batch mais j'aimerai savoir comment renvoyer une valeur au batch.
dans le logiciel comme on renvoie une valeur , j'ai essayé:
int main (....
{
return 2;
}
puis
toto= ./monlogiciel
mais toto est vide
puis j'ai essayé:
int main (...
{
system ("toto=2");
}
et c'est pareil
alors comment faire ?
[...]


#! /bin/sh -
./monlogiciel
toto=$?

La valeur de retour est en general utilisée en shell comme une
valeur booleenne (0 indiquant vrai et le reste faux où les
differentes valeur permettent de donner la raison de l'erreur).

./monlogiciel || echo >&2 "probleme"

ou

if ./monlogiciel; then
echo "./monlogiciel renvoie true (success)"
else
echo "./monlogiciel renvoie faux (failure). code: $?"
fi

etc.

--
Stéphane