Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2852 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Condition non null pour rentrer dasn ma boucle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Condition non null pour rentrer dasn ma boucle

n°1971469
fab_ouille
Posté le 05-03-2010 à 16:09:23  profilanswer
 

Bonjour,
 
Dans mon script, j'ai un retour NULL (vide) suite a une requete et je voudrais faire une condition sur cette valeur null.  
Comment faire ?
Je mets quelle condition pour ma boucle ?
 
 FIC_NB=$(grep '0' ${FIC_RESULTAT})
 ==> cela me retourne FIC_NB=
 
# if [ $FIC_NB -gt 0 ];
# if [ $(grep '0' ${FIC_NB}) -lt 0 ];
 
# test le resultat de la requete <>0 ?
# if [ $FIC_NB -eq NULL ];
=> Ca marche pas. . .je sais pas traduire l'element vide. ..
je sais tester si la valeur est zero mais pas si elle existe pas(NULL) !  
 
Mercii de toute aide ...

mood
Publicité
Posté le 05-03-2010 à 16:09:23  profilanswer
 

n°1971475
fab_ouille
Posté le 05-03-2010 à 16:21:31  profilanswer
 

Je suis pas tres clair... dsl
 
Alors, hummmm ...  
 
Je lance une requete sql.  
Il est retourné :  
  soit RIEN (l'ensemble vide)  
  soit une valeur >0.  
Je voudrais juste savoir comment questionner si cette valeur est RIEN ou >0.
 
ex:
if [ $FIC_NB ....  (differend de RIEN)
if [ $FIC_NB -eq NULL ];
=> Sauf que cela ne marche pas, qq aurait une solution ?
 
Merciii

n°1971479
pataluc
Posté le 05-03-2010 à 16:23:41  profilanswer
 

juste après

Code :
  1. FIC_NB=$(grep '0' ${FIC_RESULTAT})


 
tu dois pouvoir faire un test sur la variable $? qui contient le code retour du grep, et donc 0 ou 1 en fonction de si qqchose à été greppé ou non...

n°1971487
fab_ouille
Posté le 05-03-2010 à 16:48:20  profilanswer
 

oui, cela  me retourne  
FIC_NB=  
ca ok mais c'est apres le PB...
 
Comment je fais ma boucle avec cette condition (VIDE)  
if [ $FIC_NB   "DIFFERENT DE NULL" ] ;          
==> je n'arrive pas a traduire le "DIFFERENT DE NULL"
 
Merciii

n°1971488
pataluc
Posté le 05-03-2010 à 16:53:23  profilanswer
 

je pense que tu ne m'as pas compris.

 

après

Code :
  1. FIC_NB=$(grep '0' ${FIC_RESULTAT})
 

tu mets

Code :
  1. if [ $? -eq 0 ]
  2.  echo toto;

et roulez jeunesse. (le $? contient le code retour du grep)


Message édité par pataluc le 05-03-2010 à 16:53:44
n°1971492
fab_ouille
Posté le 05-03-2010 à 17:09:01  profilanswer
 

yeppa. . merciiii  
 
pile poil ....  merciii bicoup . ..

n°1971870
fab_ouille
Posté le 08-03-2010 à 10:21:07  profilanswer
 

Petite remarque, Zero et null ( vide) c 'est identique ?
car la . . .
FIC_NB=$(grep '0' ${FIC_RESULTAT})
==>  echo $FIC_NB =
 
# test le resultat de la requete <>0 ?
if [ $? -ne "0" ]
then  bla bla bla
 ou alors je rajoute zero au resultat de mon FIC_NB , NON? Ainsi mon resultat est au minimum zero et non vide..)
et pour rajouter c'est +"0" ou & "0", ???

n°1971877
pataluc
Posté le 08-03-2010 à 10:55:19  profilanswer
 

fab_ouille a écrit :

Petite remarque, Zero et null ( vide) c 'est identique ?
car la . . .
FIC_NB=$(grep '0' ${FIC_RESULTAT})
==>  echo $FIC_NB =

 

# test le resultat de la requete <>0 ?
if [ $? -ne "0" ]
then  bla bla bla
 ou alors je rajoute zero au resultat de mon FIC_NB , NON? Ainsi mon resultat est au minimum zero et non vide..)
et pour rajouter c'est +"0" ou & "0", ???


rien compris. :spamafote:

 

EDIT: la 3ème lecture est meilleure. as-tu bien saisi le but de la variable $? ? c'est le code retour de la commande précédente, et non pas le résultat qu'elle te renvoie. c'est à dire que si tu fait un echo entre le grep et le if, le $? est le code retour de ton echo et pas de ton grep... tu me suis?


Message édité par pataluc le 08-03-2010 à 10:57:23
n°1971998
fab_ouille
Posté le 08-03-2010 à 16:13:38  profilanswer
 

et, oui, dsl,  de pas etre CLAIR. ....  
 
je recapitule . ..  
une requete sql me retourne soit rien soit une valeur.
si cette valeur existe, envoyer un mail. ....
 
Question :  
Le rien qui m'est retourné est zero ou NULL, est ce la meme chose pour rentrer dans mon if ?  
 
Script :
sqlplus -s $LOGINPASS @$FIC_SQL
 
if [ $? -eq 0 ]
then  
       mailx.sh ${FIC_RESULTAT} "$DESTMAIL" "Rejet en date du $DATE_JOUR"
 
Question :
Je voudrais envoyer un mail si le fichier de sortie de ma requete (.out) n'est pas null.
 
La , il me retourne toujours un mail . Que ma requete (un select) existe ou pas . ..

n°1972017
pataluc
Posté le 08-03-2010 à 16:38:39  profilanswer
 

c'est bien ce qu'il me semblait, tu confonds $? (le code retour de la commande) et ce qui s'affiche à l'écran par défaut.
 
tu devrais pouvoir faire ca:

Code :
  1. valeur=$(sqlplus -s $LOGINPASS @$FIC_SQL)
  2.  
  3. if [ $(($valeur + 0)) -gt 0 ]
  4. then  
  5.       mailx.sh ${FIC_RESULTAT} "$DESTMAIL" "Rejet en date du $DATE_JOUR"


 
dans ce code, je prend ce que me renvoie sqlplus, je tente d'y ajouter 0 (donc si sqlplus me renvoie rien ou autre chose qu'une valeur, j'obtiendrai 0) et ensuite si cette valeur est supérieure à 0, j'envoie le mail...

mood
Publicité
Posté le 08-03-2010 à 16:38:39  profilanswer
 

n°1972510
fab_ouille
Posté le 10-03-2010 à 09:59:29  profilanswer
 

C top , ca,  
 
je tente, cela me semble pas mal en fait . . .lol
 
Mercii, je reveins te valider .. . .
 
Thanks a lot, man  !!!!

n°1972642
fab_ouille
Posté le 10-03-2010 à 14:01:28  profilanswer
 

c TOP. .. . .
 
tu reponds exactly a mes attentes . . .
J'ai enfin du etre clair, et toi tres comprehensif et doué, merciiiii sincerement.. ..
 
tu me retires une belle epine du pieds.  
THANKS A LOT MAN .... man thanks a lot ???? lol


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Condition non null pour rentrer dasn ma boucle

 

Sujets relatifs
[Résolu] referencer des instances creees par une fonction...C - attendre n milliseconds entre 2 iterations d'une boucle
Lecture en boucle d'un FIFO avec un read [réglé]boucle de music sur site web
Blocage de débutant sur une boucleVariable / Comparaison / Condition
afficher plusieurs éléments en une seule bouclematlab, tracé d'un cercle avec condition
macro d'archivage par bouton sous conditionRequete MySQL avec condition globale
Plus de sujets relatifs à : Condition non null pour rentrer dasn ma boucle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR