Comment vérifier si une chaîne de caractères est vide sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez les techniques fondamentales pour travailler avec les chaînes de caractères (strings) sous Linux. Vous découvrirez comment vérifier efficacement si une chaîne de caractères est vide en utilisant la commande test -z, une compétence essentielle pour la logique conditionnelle dans les scripts shell. De plus, vous pratiquerez l'affichage du contenu d'une chaîne de caractères à l'aide de la commande polyvalente echo et explorerez comment mesurer la longueur d'une chaîne de caractères avec la commande expr length. Ces exercices pratiques vous offriront une expérience concrète dans la manipulation et l'analyse des chaînes de caractères dans l'environnement Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/TextProcessingGroup -.-> linux/expr("Evaluate Expressions") subgraph Lab Skills linux/echo -.-> lab-558767{{"Comment vérifier si une chaîne de caractères est vide sous Linux"}} linux/test -.-> lab-558767{{"Comment vérifier si une chaîne de caractères est vide sous Linux"}} linux/expr -.-> lab-558767{{"Comment vérifier si une chaîne de caractères est vide sous Linux"}} end

Tester l'absence de contenu d'une chaîne de caractères avec test -z

Dans cette étape, vous apprendrez à vérifier si une chaîne de caractères (string) est vide sous Linux en utilisant la commande test avec l'option -z. Il s'agit d'une opération fondamentale lorsqu'on travaille avec des chaînes de caractères dans les scripts shell.

La commande test est utilisée pour évaluer des expressions conditionnelles. L'option -z vérifie spécifiquement si la longueur d'une chaîne de caractères est nulle. Si la chaîne de caractères est vide, le test est vrai ; sinon, il est faux.

Essayons cela dans le terminal. Tout d'abord, nous allons définir une variable de chaîne de caractères vide. Dans les scripts shell, vous définissez une variable en tapant son nom, suivi d'un signe égal (=), puis de la valeur. Il ne devrait pas y avoir d'espaces autour du signe égal.

Tapez la commande suivante pour définir une variable de chaîne de caractères vide nommée my_string :

my_string=""

Maintenant, utilisons la commande test -z pour vérifier si my_string est vide. La commande test elle - même ne produit pas de sortie ; son résultat est utilisé pour contrôler le flux d'un script (ce que vous apprendrez plus tard). Cependant, nous pouvons voir son résultat en vérifiant le code de sortie de la commande précédente en utilisant echo $?. Un code de sortie de 0 indique un succès (vrai), et un code non nul indique un échec (faux).

Tapez la commande suivante pour tester si my_string est vide :

test -z "$my_string"

Après avoir exécuté la commande test, vérifiez son code de sortie :

echo $?

Étant donné que my_string est vide, la commande test -z devrait être évaluée comme vraie, et la commande echo $? devrait afficher 0.

Maintenant, définissons une chaîne de caractères non vide :

another_string="Hello"

Et testons si elle est vide :

test -z "$another_string"

Vérifiez le code de sortie :

echo $?

Cette fois - ci, puisque another_string n'est pas vide, la commande test -z devrait être évaluée comme fausse, et la commande echo $? devrait afficher 1.

Comprendre comment tester les chaînes de caractères vides est crucial pour écrire des scripts shell robustes qui gèrent correctement différentes entrées.

Afficher le contenu d'une chaîne de caractères avec echo

Dans cette étape, vous apprendrez à afficher le contenu d'une variable de chaîne de caractères (string) en utilisant la commande echo. Comme vous l'avez vu dans le premier laboratoire, echo est utilisé pour afficher du texte dans le terminal. Lorsqu'il est utilisé avec des variables, il affiche la valeur stockée dans la variable.

Rappelez-vous que dans l'étape précédente, nous avons défini une variable nommée another_string et lui avons assigné la valeur "Hello".

another_string="Hello"

Pour afficher le contenu de cette variable, vous utilisez la commande echo suivie d'un signe dollar ($) et du nom de la variable. Le signe dollar est important ; il indique au shell que vous souhaitez utiliser la valeur de la variable, et non le nom de la variable lui - même comme une chaîne de caractères littérale.

Tapez la commande suivante pour afficher le contenu de another_string :

echo "$another_string"

Vous devriez voir la sortie suivante :

Hello

Vous pouvez également inclure la variable dans une chaîne de caractères plus longue. C'est une façon courante d'intégrer des valeurs de variables dans des messages.

Tapez la commande suivante :

echo "The value of the string is: $another_string"

Vous devriez voir la sortie suivante :

The value of the string is: Hello

Il est généralement recommandé d'utiliser des guillemets doubles (") autour du nom de la variable ou de l'ensemble de la chaîne de caractères. Cela permet d'éviter les problèmes liés aux espaces ou aux caractères spéciaux dans la valeur de la variable.

Essayons d'afficher la chaîne de caractères vide que nous avons définie précédemment, my_string :

echo "$my_string"

Étant donné que my_string est vide, cette commande affichera simplement une ligne vide.

La commande echo est un outil fondamental pour afficher des informations et effectuer du débogage dans les scripts shell. Vous l'utiliserez fréquemment pour voir les valeurs des variables et la sortie des commandes.

Mesurer la longueur d'une chaîne de caractères avec expr length

Dans cette étape, vous apprendrez à mesurer la longueur d'une chaîne de caractères (string) en utilisant la commande expr avec l'opérateur length. La commande expr est utilisée pour évaluer des expressions, y compris pour effectuer des opérations mathématiques et des manipulations de chaînes de caractères.

L'opérateur length dans expr prend une chaîne de caractères comme argument et renvoie le nombre de caractères dans cette chaîne.

Utilisons la variable another_string que nous avons définie dans les étapes précédentes, qui a pour valeur "Hello".

another_string="Hello"

Pour trouver la longueur de another_string, vous utiliserez la commande expr suivie de l'opérateur length et de la valeur de la variable. N'oubliez pas d'utiliser le signe dollar ($) avant le nom de la variable pour obtenir sa valeur.

Tapez la commande suivante :

expr length "$another_string"

Vous devriez voir la sortie suivante, qui est le nombre de caractères dans "Hello" :

5

Maintenant, essayons de trouver la longueur de la chaîne de caractères vide my_string :

my_string=""

Tapez la commande :

expr length "$my_string"

La sortie devrait être :

0

Cela confirme que la longueur d'une chaîne de caractères vide est effectivement zéro.

La commande expr length est un moyen simple d'obtenir le nombre de caractères d'une chaîne de caractères dans les scripts shell. Cela est utile dans diverses situations, comme la validation de la longueur d'une entrée ou l'itération à travers les caractères.

Résumé

Dans ce laboratoire, vous avez appris à vérifier si une chaîne de caractères (string) est vide sous Linux en utilisant la commande test -z. Cette commande renvoie vrai (statut de sortie 0) si la chaîne de caractères est vide et faux (statut de sortie 1) dans le cas contraire. Vous avez pratiqué la définition de variables de chaînes de caractères vides et non vides et vérifié la sortie de test -z en vérifiant le statut de sortie avec echo $?. Vous avez également appris à afficher le contenu d'une variable de chaîne de caractères en utilisant la commande echo et à mesurer la longueur d'une chaîne de caractères en utilisant la commande expr length. Ces opérations fondamentales sont essentielles pour travailler avec les chaînes de caractères dans les scripts shell.