[Script Bash] Opérateurs de comparaison de nombres

Alors qu’on pourrait croire que pour comparer deux nombres en bash, il suffirait de faire if [x > 3] ..., il n’en est rien !

En bash, on utilise des opérateurs spéciaux pour ce genre d’opérations.

Pour comparer des entiers, voici ce qu’il faut mettre :

  • -eq   =>   est égal à
    if [ "$a" -eq "$b" ]
  • -ne   =>   n’est pas égal à
    if [ "$a" -ne "$b" ]
  • -gt   =>   est plus grand que
    if [ "$a" -gt "$b" ]
  • -ge   =>   est plus grand que ou égal à
    if [ "$a" -ge "$b" ]
  • -lt   =>   est plus petit que
    if [ "$a" -lt "$b" ]
  • -le   =>   est plus petit que ou égal à
    if [ "$a" -le "$b" ]

  • >   =>   est plus grand que (requiert double parenthèses)
    (("$a" > "$b"))
  • >=   =>   est plus grand que ou égal à (requiert double parenthèses)
    (("$a" >= "$b"))
  • <   =>   est plus petit que (requiert double parenthèses)
    (("$a" < "$b"))
  • <=   =>   est plus petit que ou égal à (requiert double parenthèses)
    (("$a" <= "$b"))

 

source : <http://www.tldp.org/LDP/abs/html/comparison-ops.html>

 

Laisser un commentaire