- Utilisation de l'instruction « Si »
- Utilisation de l'instruction « If-Else »
- Utilisation de l'instruction « If-Elif-Else »
- Utilisation de l'instruction « If » pour vérifier une variable vide
- Utilisation de l'instruction « If » avec l'opérateur logique
- Utilisation des instructions imbriquées « Si »
- Utilisation de l'instruction « If » pour vérifier l'existence du fichier
- Utilisation de l'instruction « If » pour vérifier l'existence du répertoire
- Utilisation de l'instruction « If » avec Regex
- Utilisation de l'instruction « Case »
Utilisation de l'instruction « Si »
Cet exemple montre l'utilisation simple de l'instruction « if » dans Bash. Six types d'opérateurs de comparaison peuvent être utilisés pour comparer les valeurs numériques dans Bash. Ce sont '-eq' (égal), '-ne' (différent), '-le' (inférieur à égal), '-ge' (supérieur à égal), '-lt' (inférieur à) et ' -gt » (supérieur à). Les utilisations de « -lt » et « -eq » sont affichées dans le script suivant, que le nombre soit inférieur à 99 ou qu'il n'ait pas été vérifié à l'aide de l'opérateur « -lt ». Le nombre est pair ou impair et est vérifié par l'opérateur « -eq ».
#!/bin/bash
#Attribuer une valeur numérique
( ( nombre = cinquante ) )
#Vérifiez la valeur numérique à l'aide de l'instruction 'if'
si [ $numéro -lt 99 ]
alors
écho 'Le numéro est valide.'
être
#Vérifiez si le nombre est pair ou non
si [ $ ( ( $numéro % 2 ) ) -eq 0 ]
alors
écho 'Le nombre est pair.'
être
Sortir :
Le résultat suivant apparaît après l'exécution du script précédent :
Utilisation de l'instruction « If-Else »
L'utilisation de l'instruction « if-else » est illustrée dans le script suivant. Une valeur de chaîne est extraite de l'utilisateur et vérifie si la valeur est « BLEU » ou non à l'aide de l'instruction « if-else ».
#!/bin/bash
#Prendre une valeur de chaîne de l'utilisateur
lire -p 'Entrez votre couleur préférée :' couleur
#Vérifiez la valeur de la chaîne à l'aide de l'instruction 'if-else'
si [ ${couleur^^} == 'BLEU' ]
alors
écho 'Bien, la couleur bleue est disponible.'
autre
écho ' $couleur n'est pas disponible.'
être
Sortir :
La sortie suivante apparaît après l'exécution du script précédent si « rouge » est pris comme entrée :
La sortie suivante apparaît après l'exécution du script précédent si « bleu » est pris en entrée :
Utilisation de l'instruction « If-Elif-Else »
L'utilisation de l'instruction « if-elif-else » est illustrée dans le script suivant. Un nombre est extrait de l'utilisateur et vérifié avec les différentes valeurs jusqu'à ce qu'une correspondance soit trouvée. Si une correspondance est trouvée, le message correspondant est imprimé. Si aucune correspondance n'est trouvée, le message par défaut est imprimé.
#!/bin/bash#Prendre la valeur d'identifiant de l'utilisateur
lire -p 'Entrez votre numéro de série:' en série
#Vérifiez la valeur d'entrée à l'aide de l'instruction 'if-elif-else'
si [ $série == '4523' ]
alors
écho 'Vous êtes sélectionné dans le groupe A.'
Elif [ $série == '8723' ]
alors
écho 'Vous êtes sélectionné dans le groupe B.'
Elif [ $série == '3412' ]
alors
écho 'Vous êtes sélectionné dans le groupe C.'
autre
écho 'Vous n'êtes pas sélectionné' .
être
Sortir:
La sortie suivante apparaît après l'exécution du script avec la valeur 8723 :
La sortie suivante apparaît après l'exécution du script avec la valeur 9078 :
Utilisation de l'instruction « If » pour vérifier une variable vide
La méthode permettant de vérifier si une variable est vide sans utiliser d'instruction « if » est présentée dans le script suivant. L'option « -z » est utilisée dans l'instruction « if » pour effectuer cette tâche.
#!/bin/bash#Prendre la valeur d'identifiant de l'utilisateur
lire -p 'Entrez votre numéro de série:' en série
#Vérifiez si la variable est vide ou non
si [ ! -Avec $série ]
alors
#Vérifiez la valeur d'entrée à l'aide de l'instruction 'if-elif-else'
si [ $série == '690' ]
alors
écho 'Vous êtes sélectionné dans l'équipe-1.'
Elif [ $série == '450' ]
alors
écho 'Vous êtes sélectionné dans l'équipe-2.'
autre
écho 'Vous n'êtes pas sélectionné' .
être
autre
écho 'Aucun numéro de série n'est donné.'
être
Sortir :
La sortie suivante apparaît après l'exécution du script avec la valeur 690 :
La sortie suivante apparaît après l'exécution du script si aucune valeur d'entrée n'est prise :
Utilisation de l'instruction « If » avec des opérateurs logiques
Trois types d'opérateurs logiques peuvent être utilisés dans l'instruction conditionnelle Bash. Il s'agit du OU logique (||), du ET logique (&&) et du NON logique (!). Une valeur de code est extraite de l'utilisateur. Si la valeur d'entrée n'est pas vide, la valeur est vérifiée avec deux valeurs de code à l'aide d'un OU logique. Si la valeur correspond à un code, le message correspondant est imprimé. Si aucun code correspondant n'est trouvé, le message par défaut est imprimé.
#!/bin/bash#Prendre le code du cours à l'utilisateur
lire -p 'Entrez le code du cours :' code
#Vérifiez si la variable est vide ou non
si [ ! -Avec $code ]
alors
#Vérifiez la valeur d'entrée à l'aide de l'instruction 'if-elif-else'
si [ [ $code == 'CSE-106' || $code == 'CSE-108' ] ]
alors
écho 'Cours CSE.'
Elif [ [ $code == 'BBA-203' || $code == 'BBA-202' ] ]
alors
écho 'Cours BBA.'
autre
écho 'Code de cours invalide.'
être
autre
écho 'Aucun code de cours n'est donné.'
être
Sortir :
La sortie suivante apparaît après l'exécution du script avec la valeur d'entrée « CSE-108 » :
La sortie suivante apparaît après l'exécution du script avec la valeur d'entrée « BBA-56 » :
Utilisation des instructions imbriquées « Si »
Lorsqu’une condition « if » est utilisée dans une autre condition « if », on parle d’instruction « if » imbriquée. La méthode d'utilisation du « if » imbriqué est illustrée dans le script suivant. Deux valeurs de marque sont extraites de l'utilisateur. Si les valeurs d'entrée ne sont pas vides, la première condition « si » vérifie si la valeur de « $theory » est supérieure ou égale à 60 ou non. Si la première condition « si » renvoie « vrai », la deuxième condition « si » vérifie si la valeur du « $lab » est supérieure ou égale à 50 ou non. Si la deuxième condition « si » renvoie également « vrai », un message de réussite est imprimé. Sinon, un message d'échec est imprimé.
#!/bin/bash#Prenez la note de la théorie
lire -p 'Entrez la note théorique :' théorie
#Prenez la marque du labo
lire -p 'Entrez la marque du laboratoire :' laboratoire
#Vérifiez si les variables sont vides ou non
si [ [ ! -Avec $théorie && ! -Avec $laboratoire ] ]
alors
#Vérifiez les valeurs d'entrée à l'aide d'une instruction 'if' imbriquée
si [ $théorie -ge 60 ]
alors
si [ $laboratoire -ge cinquante ]
alors
écho 'Vous avez réussi.'
autre
écho 'Tu as échoué.'
être
autre
écho 'Tu as échoué.'
être
autre
écho 'La note de théorie ou de laboratoire est vide.'
être
Sortir :
La sortie suivante apparaît si les deux valeurs d'entrée ou l'une des valeurs d'entrée sont vides :
Le résultat suivant apparaît si 78 est considéré comme des notes théoriques et 45 comme des notes de laboratoire. Ici, la deuxième condition « si » renvoie « faux » :
Le résultat suivant apparaît si 67 est considéré comme des notes théoriques et 56 comme des notes de laboratoire. Ici, les deux conditions « si » renvoient « vrai » :
Le résultat suivant apparaît si 50 est considéré comme des notes théoriques et 80 comme des notes de laboratoire. Ici, la première condition « si » renvoie « faux » :
Utilisation de l'instruction « If » pour vérifier l'existence du fichier
L'existence du fichier peut être vérifiée par le script bash de deux manières. La première utilise l'opérateur « -f » avec des crochets « [] ». Une autre consiste à utiliser la commande « test » et l’opérateur « -f ». Un nom de fichier est pris et vérifie l'existence du fichier en utilisant la condition « if » avec l'opérateur « -f ». Ensuite, un autre nom de fichier est pris et vérifie l'existence du fichier en utilisant l'instruction « if » avec la commande « test » et l'opérateur « -f ».
#!/bin/bash#Prenez le nom du fichier
lire -p 'Entrez un nom de fichier :' fn1
#Vérifiez si le fichier existe ou non sans utiliser `test`
si [ -F $fn1 ]
alors
écho ' $fn1 le fichier existe.'
autre
écho ' $fn1 fichier ne existe pas.'
être
#Ajouter une nouvelle ligne
écho
#Prendre un autre nom de fichier
lire -p 'Entrez un autre nom de fichier :' fn2
#Vérifiez si le fichier existe ou non en utilisant `test`
si test -F $fn2 ; alors
écho ' $fn2 le fichier existe.'
#Vérifiez si le fichier est vide ou non en utilisant `test`
si test -Avec $fn2 ; alors
écho ' $fn2 le fichier est vide.'
autre
écho ' $fn2 le fichier n'est pas vide.'
être
autre
écho ' $fn2 fichier ne existe pas.'
être
Sortir :
La sortie suivante apparaît après l'exécution du script en prenant « test.txt » et « testing.txt » comme noms de fichiers. D'après le résultat, les deux fichiers existent à l'emplacement actuel et le fichier « testing.txt » est vide :
La sortie suivante apparaît après l'exécution du script en prenant « f1.txt » et « test.txt » comme noms de fichiers. D'après le résultat, le fichier « f1.txt » n'existe pas à l'emplacement actuel et le fichier « test.txt » n'est pas vide :
Utilisation de l'instruction « If » pour vérifier l'existence du répertoire
L'existence du répertoire peut être vérifiée par le script Bash de deux manières comme le fichier. La première utilise l'opérateur « -d » avec des crochets « [] ». Une autre consiste à utiliser la commande « test » et l’opérateur « -d ». Un nom de répertoire est pris et vérifie l'existence du répertoire en utilisant la condition « if » avec l'opérateur « -d ». Ensuite, un autre nom de répertoire est pris et vérifie l'existence du fichier à l'aide de l'instruction « if » avec la commande « test » et l'opérateur « -d ».
#!/bin/bash#Prendre un nom de répertoire
lire -p 'Entrez un nom de répertoire :' tu1
#Vérifiez si le répertoire existe ou non sans utiliser `test`
si [ -d $rép1 ]
alors
écho ' $rép1 le répertoire existe.'
autre
écho ' $rép1 le répertoire n'existe pas.'
être
#Ajouter une nouvelle ligne
écho
#Prendre un autre nom de répertoire
lire -p 'Entrez un autre nom de répertoire :' rép2
#Vérifiez si le fichier existe ou non en utilisant `test`
si test -d $rép2
alors
écho ' $rép2 le répertoire existe.'
autre
écho ' $rép2 le répertoire n'existe pas.'
être
Sortir :
La sortie suivante apparaît après l'exécution du script avec les noms de répertoire « temp » et « files ». Selon le résultat, les deux répertoires existent à l'emplacement actuel. Ensuite, la commande « ls » est exécutée pour vérifier le contenu des répertoires :
La sortie suivante apparaît après l'exécution du script avec les noms de répertoire « testing » et « new ». Selon le résultat, les deux répertoires n'existent pas à l'emplacement actuel. Ensuite, le résultat de la commande « ls » montre que les deux répertoires n'existent pas :
Utilisation de l'instruction « If » avec Regex
Le script suivant montre la méthode de validation des données d'entrée à l'aide d'une instruction « if » avec l'expression régulière. Ici, deux valeurs d'entrée sont extraites de l'utilisateur et sont stockées dans les variables « $bookname » et « $bookprice ». La condition « if » est utilisée dans le script pour vérifier que la variable « $bookname » contient tous les caractères alphabétiques et que « $bookprice » contient un nombre.
#!/bin/bash#Prenez le nom et le prix du livre auprès de l'utilisateur
écho -n 'Entrez le nom du livre :'
lire nom du livre
écho -n 'Entrez le prix du livre :'
lire prix du livre
#Vérifiez que le nom du livre contient uniquement l'alphabet
si ! [ [ ' $nom du livre ' =~ [ A-Za-z ] ] ] ; alors
écho 'Le nom du livre n'est pas valide.'
autre
écho 'Le nom du livre est valide.'
être
#Vérifiez que le prix du livre ne contient que des chiffres
si ! [ [ ' $prix du livre ' =~ [ 0 - 9 ] ] ] ; alors
écho 'Le prix du livre ne peut contenir que des chiffres.'
autre
écho 'Le prix du livre est valable.'
être
Sortir :
La sortie suivante apparaît après l'exécution du script avec les valeurs d'entrée de « Programmation Bash » comme nom du livre et 78 comme prix du livre :
La sortie suivante apparaît après l'exécution du script avec les valeurs d'entrée de 90 comme nom du livre et « Bash » comme prix du livre :
Utilisation de l'instruction « Case »
L'instruction « case » est l'alternative de l'instruction « if-elif-else », mais toutes les tâches de l'instruction « if-elif-else » ne peuvent pas être effectuées à l'aide de l'instruction « case ». L'utilisation simple de l'instruction « case » est illustrée dans le script suivant. Une valeur numérique est extraite de l'utilisateur comme valeur du mois en cours. Ensuite, le mois correspondant est imprimé si une valeur correspondante est trouvée dans l'instruction « case ». Sinon, le message par défaut est imprimé.
#!/bin/bash#Prendre la valeur du mois en cours en nombre
lire -p 'Entrez le mois d'aujourd'hui en chiffre :' b_mois
#Imprimez le texte avant d'imprimer le nom du mois
écho -n 'Le nom du mois en cours est '
#Découvrez et imprimez le nom du mois correspondant en fonction de la saisie
cas $b_mois dans
1 | 01 ) écho 'Janvier.' ;;
2 | 02 ) écho 'Février.' ;;
3 | 03 ) écho 'Mars.' ;;
4 | 04 ) écho 'Avril.' ;;
5 | 05 ) écho 'Peut.' ;;
6 | 06 ) écho 'Juin.' ;;
7 | 07 ) écho 'Juillet.' ;;
8 | 08 ) écho 'Août.' ;;
9 | 09 ) écho 'Septembre.' ;;
dix ) écho 'Octobre.' ;;
onze ) écho 'Novembre.' ;;
12 ) écho 'Décembre.' ;;
* ) écho 'pas trouvé.' ;;
esac
Sortir :
La sortie suivante apparaît après l'exécution du script avec la valeur 6 :
La sortie suivante apparaît après l'exécution du script avec la valeur 09 :
La sortie suivante apparaît après l'exécution du script avec la valeur 14 :
Conclusion
Différentes utilisations de la logique conditionnelle utilisant les instructions « if » et « case » sont présentées dans les 10 exemples de ce tutoriel. Le concept d'utilisation de la logique conditionnelle dans Bash sera expliqué aux nouveaux utilisateurs de Bash après avoir lu ce didacticiel.