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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Variable / Comparaison / Condition

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable / Comparaison / Condition

n°1966816
tony-974
Humble motard, c'est rare
Posté le 17-02-2010 à 11:56:11  profilanswer
 

Bonjour,
 
Après recherche sur google et sur le forum concernant les variables d'environnement et les valeurs numériques je n'ai pas trouvé la réponse que je cherchais.
 
Sous Unix, dans un script (shell), j'aimerai comparer la valeur d'une variable :
 
si $variable supérieur ou égal à 28
alors ....
fin de si
 
Je ne sais pas si je dois mettre "" ou '' ou `` pour $variable et pour 28
 
A l'origine j'avais fais ceci :

Code :
  1. if ["$variable" > "28" ]


Mais ça me renvoie l'erreur suivante : nomduscript[8]: 17:  introuvable.
Où 17 est contenu dans la variable, sachant qu'il représente le "nombre" du jour qui est extrait de la date avec awk
 
Une idée ?
Jusqu'à présent mes comparaisons concernaient du texte donc j'utilisais "" avec le si


---------------
¤ JOE BAR TEAM ¤
mood
Publicité
Posté le 17-02-2010 à 11:56:11  profilanswer
 

n°1966879
olivthill
Posté le 17-02-2010 à 13:51:13  profilanswer
 

Ca dépend avec quel shell.
 
Une syntaxe qui marche souvent est :  

if [ $variable -gt 28 ]
then
 ...
fi


N.B. gt signifie greater than. on peut mettre -ge (greater or equal), -lt (less than), -le (less or equal), -eq (equal).


Message édité par olivthill le 17-02-2010 à 13:53:31
n°1966947
pataluc
Posté le 17-02-2010 à 16:35:28  profilanswer
 

à noter qu'il faut faire gaffe à bien mettre un espace après le crochet ouvrant et avant le crochet fermant... sinon ca ne marche pas.

n°1967086
tony-974
Humble motard, c'est rare
Posté le 18-02-2010 à 09:54:28  profilanswer
 

Je vais essayer cela tout à l'heure, merci olivthill et pataluc pour votre aide. J'espère que cela fonctionnera.


---------------
¤ JOE BAR TEAM ¤
n°1967251
tony-974
Humble motard, c'est rare
Posté le 18-02-2010 à 15:27:13  profilanswer
 

Cela fonctionne !
Oui les espaces entre crochets semblent très importants. Et les signes > = == < <= etc... ne semblent pas bien "fonctionner" mais avec "gt" ça fonctionne. Merci encore

Message cité 1 fois
Message édité par tony-974 le 18-02-2010 à 15:27:35

---------------
¤ JOE BAR TEAM ¤
n°1968803
Kerrozen
To be or not to be ... cool ..
Posté le 24-02-2010 à 11:04:22  profilanswer
 

tony-974 a écrit :

Cela fonctionne !
Oui les espaces entre crochets semblent très importants. Et les signes > = == < <= etc... ne semblent pas bien "fonctionner" mais avec "gt" ça fonctionne. Merci encore


 
Pour de plus amples détails, voici un bon tour d'horizon des tests sous Ninix.
 
Car franchement, si y a bien un truc sur lequel je me prends le chou régulièrement c'est comment on fait ces foutus tests (quoi quoi mémoire de poisson rouge  :ouch: )
 
 :bounce: Liste des tests sous Unix  :bounce:


---------------
En programmation, quand t'as un problème et qu'il n'y a que deux solutions valides, seule la troisième fonctionne !

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

  Variable / Comparaison / Condition

 

Sujets relatifs
Batch - Variable d'environnementVariable étendue et compteur qui ne s'incrémente pas
Comparaison VB 6.0 / C#[BATCH]Ping avec variable
Variable "chaine"matlab, tracé d'un cercle avec condition
Attribuer une valeur à une variable en cliquant sur un lienmacro d'archivage par bouton sous condition
Access ouverture d'un état paramétré avec variable VBARequete MySQL avec condition globale
Plus de sujets relatifs à : Variable / Comparaison / Condition


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