Variable / Comparaison / Condition - Shell/Batch - Programmation
Marsh Posté le 17-02-2010 à 13:51:13
Ca dépend avec quel shell.
Une syntaxe qui marche souvent est :
if [ $variable -gt 28 ] |
N.B. gt signifie greater than. on peut mettre -ge (greater or equal), -lt (less than), -le (less or equal), -eq (equal).
Marsh Posté le 17-02-2010 à 16:35:28
à 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.
Marsh Posté le 18-02-2010 à 09:54:28
Je vais essayer cela tout à l'heure, merci olivthill et pataluc pour votre aide. J'espère que cela fonctionnera.
Marsh Posté le 18-02-2010 à 15:27:13
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
Marsh Posté le 24-02-2010 à 11:04:22
tony-974 a écrit : Cela fonctionne ! |
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 )
Liste des tests sous Unix
Marsh Posté le 17-02-2010 à 11:56:11
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 :
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 ¤