Unix / Linux - Exemple d'opérateurs de chaîne Shell

Les opérateurs de chaîne suivants sont pris en charge par Bourne Shell.

Supposons une variable a contient "abc" et variable b détient "efg" alors -

Opérateur La description Exemple
= Vérifie si la valeur de deux opérandes est égale ou non; si oui, alors la condition devient vraie. [$ a = $ b] n'est pas vrai.
!= Vérifie si la valeur de deux opérandes est égale ou non; si les valeurs ne sont pas égales, la condition devient vraie. [$ a! = $ b] est vrai.
-z Vérifie si la taille de l'opérande de chaîne donnée est zéro; s'il a une longueur nulle, alors il renvoie vrai. [-z $ a] n'est pas vrai.
-n Vérifie si la taille de l'opérande de chaîne donnée est différente de zéro; si sa longueur est différente de zéro, alors elle renvoie true. [-n $ a] n'est pas faux.
str Vérifie si strn'est pas la chaîne vide; s'il est vide, il renvoie false. [$ a] n'est pas faux.

Exemple

Voici un exemple qui utilise tous les opérateurs de chaîne -

#!/bin/sh

a="abc"
b="efg"

if [ $a = $b ]
then
   echo "$a = $b : a is equal to b"
else
   echo "$a = $b: a is not equal to b"
fi

if [ $a != $b ]
then
   echo "$a != $b : a is not equal to b"
else
   echo "$a != $b: a is equal to b"
fi

if [ -z $a ]
then
   echo "-z $a : string length is zero"
else
   echo "-z $a : string length is not zero"
fi

if [ -n $a ]
then
   echo "-n $a : string length is not zero"
else
   echo "-n $a : string length is zero"
fi

if [ $a ]
then
   echo "$a : string is not empty"
else
   echo "$a : string is empty"
fi

Le script ci-dessus générera le résultat suivant -

abc = efg: a is not equal to b
abc != efg : a is not equal to b
-z abc : string length is not zero
-n abc : string length is not zero
abc : string is not empty

Les points suivants doivent être pris en compte lors de l'utilisation de l'opérateur -

  • Il doit y avoir des espaces entre les opérateurs et les expressions. Par exemple, 2 + 2 n'est pas correct. Il doit être écrit 2 + 2.

  • if...then...else...fi déclaration est une déclaration de prise de décision qui a été expliquée dans le chapitre suivant.

unix-basic-operators.htm