Comment utiliser bash if -z et if -n pour tester des chaînes sous Linux

Il existe différents opérateurs de chaîne disponibles dans le langage de script bash qui peuvent être utilisés pour tester les chaînes de caractères. Les opérateurs -z et -n sont utilisés pour vérifier si la chaîne est Null ou non. Dans ce guide, nous allons tester ces opérateurs de chaîne à l’aide de l’instruction if dans Centos 8.

Dans ce guide, tu vas découvrir les chaînes de test suivantes :

  • If-n lorsque String est Null.
  • If-n lorsque String n’est pas Null
  • If-z lorsque Sting est Null
  • If-z lorsque String n’est pas Null
  • If-z en prenant l’entrée utilisateur de String

Utilisation de l’opérateur if -n lorsque String est Null

Notre principal objectif d’utiliser l’opérateur if-n ici est de montrer que la chaîne spécifique est Null. Suis les étapes citées pour exécuter cette tâche :

Crée un nouveau fichier avec le nom CheckString.sh. Tu peux le créer directement dans ton répertoire personnel ou en utilisant la commande suivante dans le terminal :

$ touch CheckString.sh

Créer un script de test

Tu peux voir que le fichier CheckString.sh a été créé dans ton répertoire personnel comme le montre l’image.

Fichier de test

Ouvre le fichier CheckString.sh et écris un script bash comme indiqué dans l’image ci-dessous. Ici, tu peux voir que nous avons initialisé une chaîne avec le nom StdName suivi de la valeur Null. Dans notre déclaration if, nous avons utilisé l’opérateur de test -n string suivi de la chaîne StdName. Comme la chaîne StdName est nulle, l’opérateur -n exécutera la section else du script.

Vérifie la présence d'une valeur nulle

Maintenant, nous allons exécuter la commande mentionnée ci-dessous pour vérifier si la chaîne est Null ou non.

$ bash CheckStrings.sh

Comme notre chaîne StdName est Null, l’opérateur -n string a exécuté la partie else. La sortie sera donc Sorry ! Tu n’as pas de nom dans le terminal comme présenté dans l’image ci-dessous.

Run test script

Utilisation de if -n lorsque la chaîne n’est pas Null

Nous utilisons ici l’opérateur if-n pour montrer que la chaîne spécifiée dans le fichier n’est pas Null. Tu dois suivre les étapes ci-dessous pour réaliser cette activité :

Il n’est pas nécessaire de créer un nouveau fichier ou une nouvelle chaîne. Tu utiliseras le même fichier CheckString.sh pour cette tâche avec un changement mineur. Cette fois, la chaîne StdName de ton fichier doit avoir une valeur autre que null. Tu dois donc attribuer une valeur à ta chaîne (non nulle) alors que tous les autres scripts restent les mêmes. Comme tu peux le voir, nous avons attribué une valeur à Aqsa Yasin à la chaîne StdName. Donc cette fois-ci, la partie If du script sera exécutée par l’opérateur -n.

si -n quand String n'est pas Null

Maintenant, nous allons exécuter la commande mentionnée ci-dessous pour vérifier si la chaîne a une valeur ou non.

$ bash CheckStrings.sh

Comme notre chaîne StdName a maintenant une valeur Aqsa Yasin, l’opérateur -n string a exécuté la partie if. La sortie sera donc Hy ! Aqsa Yasin dans le terminal, comme indiqué dans l’image jointe.

Résultat du script de test

Utilisation de if -z lorsque la chaîne est nulle

Nous utilisons ici l’opérateur if-z pour montrer que la chaîne spécifiée dans le fichier est Null. Tu dois suivre les étapes mentionnées ci-dessous pour réaliser cette activité :

Il n’y a rien de nouveau à faire pour cette tâche. Utilise simplement le même vieux fichier CheckString.sh avec l’opérateur de chaîne -z. Comme nous le savons, l’opérateur -z exécute la partie True lorsque la chaîne est Null. Comme la chaîne StdName a une valeur nulle, la partie if du script sera exécutée par l’opérateur -z.

si -z lorsque String est Null

Maintenant, nous allons exécuter la commande mentionnée ci-dessous pour vérifier que la chaîne est nulle.

$ bash CheckStrings.sh

Comme notre chaîne StdName n’a maintenant aucune valeur, et que l’opérateur -z string sait que la chaîne est nulle, il exécute la partie if. La sortie sera donc Sorry You have no name dans le terminal comme présenté dans l’image ci-jointe.

Résultat du test

Utilisation de if -z lorsque la chaîne n’est pas nulle

Nous utilisons ici l’opérateur if-z pour montrer que la chaîne spécifiée dans le fichier n’est pas Null. En suivant ces étapes, tu seras en mesure de réaliser cette activité :

Il n’y a rien de nouveau à faire. Nous utiliserons le même vieux fichier CheckString.sh pour cette tâche avec un changement mineur. Cette fois, nous remplacerons l’opérateur de chaîne -n par l’opérateur de chaîne -z. De plus, tu dois échanger les parties if et else du script entre elles. Comme nous le savons, l’opérateur -z exécute la partie True lorsque la chaîne est Null. Comme la chaîne StdName a la valeur Aqsa Yasin qui n’est pas nulle, l’instruction else sera exécutée par l’opérateur -z.

si -z lorsque String n'est pas Null

Maintenant, nous allons exécuter la commande mentionnée ci-dessous pour vérifier si la chaîne est nulle ou non.

$ bash CheckStrings.sh

Comme notre chaîne StdName a maintenant une valeur Aqsa Yasin, et que l’opérateur -z string sait que la chaîne n’est pas nulle, il exécute la partie else. La sortie sera donc Hy Aqsa Yasin dans le terminal comme le montre l’image ci-dessous.

Résultat du test

Utilisation de if -z lors de la saisie d’une chaîne de caractères par l’utilisateur

Enfin, nous utilisons l’opérateur if-z pour tester l’entrée de chaîne ajoutée par l’utilisateur au moment de l’exécution. Tu dois effectuer les étapes suivantes pour tester la saisie de chaîne de l’utilisateur :

Cette fois, tu dois modifier ton script dans une certaine mesure dans le fichier. Tout d’abord, nous utilisons l’opérateur -z dans l’instruction if suivie de la variable string. Le système demandera à l’utilisateur d’ajouter quelques valeurs de chaîne. L’utilisateur ajoutera une chaîne. En utilisant l’instruction read, le système enregistre la chaîne écrite par l’utilisateur dans la variable string. Comme nous le savons, l’opérateur -z exécute la partie if de l’instruction lorsque la chaîne est valide. Si la chaîne saisie par l’utilisateur est nulle, le système te demandera de saisir à nouveau la chaîne. Si la chaîne saisie par l’utilisateur n’est pas nulle, le système affichera la chaîne.

if -z pendant la prise d'une entrée utilisateur de type chaîne

Nous allons maintenant exécuter la commande mentionnée ci-dessous pour vérifier la chaîne saisie par l’utilisateur :

$ bash CheckStrings.sh

Lorsque le système a demandé à l’utilisateur d’ajouter une chaîne, l’utilisateur n’a pas ajouté de valeur. L’opérateur -z reconnaît donc la chaîne comme nulle et exécute l’instruction if. Le système a de nouveau demandé à l’utilisateur d’ajouter une certaine valeur de chaîne. Cette fois, l’utilisateur a ajouté une valeur de chaîne valide, New World Order. Le système a donc affiché le message La chaîne de caractères que tu as saisie est : New World.

Résultat du script

Conclusion

Dans ce guide, tu as découvert comment utiliser les opérateurs de chaîne pour tester une valeur de chaîne qui est soit nulle, soit non nulle. J’espère que cet article t’a beaucoup aidé à maîtriser les opérateurs de chaîne -z et -n et à manipuler les déclarations.

Vous aimerez aussi...