|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : septembre 2007 Messages : 116 ![]() |
Bonjour
Je créée un script shell où je fais ceci : #création variable expok=`exp system/system@oracle...` La commande exp (export oracle) se fait bien Mais si je fais echo $expok, je n'obtiens aucune valeur il me semblait que si la commande fonctionnait, la variable prenait 0, et si on est en erreur elle prend une autre valeur (derrière je compte faire un if pour créer un fichier de log). Est-ce que quelqu'un peut me dire où j'ai fait une erreur ? Merci |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : octobre 2008 Messages : 1 375 ![]() |
Non, dans ton exemple expok contient la sortie (le stdout) de la commande exp. Si tu veux récupérer le code de retour de la commande exp dans expok, tu peux faire :
Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
Bonjour,
on ne met pas une commande dans une variable pour récupérer son code de retour (0 = succès; >0 = erreur). si tu veux enregistrer les erreurs éventuelles que retourne une commande, "yaka"* rediriger la sortie d'erreur vers le fichier souhaité :sans espace autour de >> sinon, comme l'a dit matafan, tester $? ou directement dans le if, par exemple avec false qui échoue toujours : Code :
nb: la redirection des erreurs ne change pas le code de retour de la commande. * il suffit de |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com