logo

Frapper si

Dans ce sujet, nous comprendrons comment utiliser si les déclarations dans les scripts Bash pour terminer nos tâches automatisées.

Bash si les déclarations sont bénéfiques. Ils sont utilisés pour effectuer des tâches conditionnelles dans le flux séquentiel d'exécution des instructions. Les instructions If nous permettent généralement de prendre des décisions dans nos scripts Bash. Ils nous aident à décider d'exécuter ou non un morceau de code en fonction de la condition que nous pouvons définir.

Déclarations if de base

Une instruction if de base commande que si une condition particulière est vraie, alors n'exécutez qu'un ensemble d'actions donné. Si ce n’est pas vrai, n’exécutez pas ces actions. L'instruction If est basée sur le format suivant :

Syntaxe

 if [ expression ]; then statements fi 

La déclaration entre alors et être (Si à l'envers) ne sera exécuté que si l'expression (entre crochets) est vraie.

expression de régression en java

Note:Observez les espaces utilisés dans la première ligne et un point-virgule à la fin de la première ligne ; les deux sont obligatoires à utiliser.Si instruction conditionnellese termine parêtre.

  • Pour utiliser plusieurs conditions avec l'opérateur AND :
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Pour utiliser plusieurs conditions avec l'opérateur OR :
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Pour les expressions composées avec les opérateurs AND & OR, nous pouvons utiliser la syntaxe suivante :
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

Voici quelques exemples illustrant l’utilisation de l’instruction if :

Exemple 1

Dans cet exemple, prenez une entrée utilisateur de n'importe quel nombre et vérifiez si la valeur est supérieure à 125.

 #!/bin/bash read -p ' Enter number : ' number if [ $number -gt 125 ] then echo 'Value is greater than 125' fi 

Sortir

Si nous entrons le nombre 159, le résultat ressemblera à :

notes de bas de page de démarque
Bash si instruction

Exemple 2

Dans cet exemple, nous démontrons l'utilisation de si déclaration avec un scénario simple de comparaison de deux chaînes :

 #!/bin/bash # if condition is true if [ 'myfile' == 'myfile' ]; then echo 'true condition' fi # if condition is false if [ 'myfile' == 'yourfile' ]; then echo 'false condition' fi 

Sortir

Bash si instruction

Exemple 3

Dans cet exemple, nous montrons comment comparer des nombres en utilisant l'instruction if :

 #!/bin/bash #if condition (greater than) is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' fi #if condition (greater than) is false if [ 3 -gt 10 ]; then echo '3 is not greater than 10.' fi #if condition (lesser than) is true if [ 3 -lt 10 ]; then echo '3 is less than 10.' fi #if condition (lesser than) is false if [ 10 -lt 3 ]; then echo '10 is not less than 3.' fi #if condition (equal to) is true if [ 10 -eq 10 ]; then echo '10 is equal to 10.' fi #if condition (equal to) is false if [ 10 -eq 9 ]; then echo '10 is not equal to 9' fi 

Sortir

Bash si instruction

Exemple 4

Dans cet exemple, nous définirons comment utiliser l'opérateur AND pour inclure plusieurs conditions dans l'expression if :

 #!/bin/bash # TRUE && TRUE if [ 8 -gt 6 ] && [ 10 -eq 10 ]; then echo 'Conditions are true' fi # TRUE && FALSE if [ 'mylife' == 'mylife' ] && [ 3 -gt 10 ]; then echo 'Conditions are false' fi 

Sortir

Bash si instruction

Exemple 5

Dans cet exemple, nous définirons comment utiliser l'opérateur OR pour inclure plusieurs conditions dans l'expression if :

 #!/bin/bash # TRUE || FALSE if [ 8 -gt 7 ] || [ 10 -eq 3 ]; then echo ' Condition is true. ' fi # FALSE || FALSE if [ 'mylife' == 'yourlife' ] || [ 3 -gt 10 ]; then echo ' Condition is false. ' fi 

Sortir

Bash si instruction

Exemple 6

Dans cet exemple, nous définirons comment utiliser AND et OR pour inclure plusieurs conditions dans l'expression if :

 #!/bin/bash # TRUE && FALSE || FALSE || TRUE if [[ 10 -eq 10 && 5 -gt 4 || 3 -eq 4 || 3 -lt 6 ]]; then echo 'Condition is true.' fi # TRUE && FALSE || FALSE if [[ 8 -eq 8 && 8 -gt 10 || 9 -lt 5 ]]; then echo 'Condition is false' fi 

Sortir

zéros numpy
Bash si instruction

Options pour l'instruction If dans les scripts Bash

L'instruction If contient de nombreuses options pour effectuer une tâche spécifique. Ces options peuvent être utilisées pour les opérations sur les fichiers, les opérations sur les chaînes, etc. Voici les options les plus utilisées :

-
Options (opérateurs) Description
! EXPRESSION Pour vérifier si EXPRESSION est fausse.
-n CHAÎNE Pour vérifier si la longueur de STRING est supérieure à zéro.
-z CHAÎNE Pour vérifier si la longueur de STRING est nulle (c'est-à-dire qu'elle est vide)
CHAÎNE1 == CHAÎNE2 Pour vérifier si STRING1 est égal à STRING2.
CHAÎNE1 != CHAÎNE2 Pour vérifier si STRING1 n’est pas égal à STRING2.
ENTIER1 -eq ENTIER2 Pour vérifier si INTEGER1 est numériquement égal à INTEGER2.
ENTIER1 -gt ENTIER2 Pour vérifier si INTEGER1 est numériquement supérieur à INTEGER2.
ENTIER1 -lt ENTIER2 Pour vérifier si INTEGER1 est numériquement inférieur à INTEGER2.
-d FICHIER Pour vérifier si FILE existe et s’il s’agit d’un répertoire.
-e FICHIER Pour vérifier si FILE existe.
-r FICHIER Pour vérifier si FILE existe et que l’autorisation de lecture est accordée.
-s FICHIER Pour vérifier si FILE existe et que sa taille est supérieure à zéro (ce qui signifie qu'il n'est pas vide).
-w FICHIER Pour vérifier si FILE existe et que l’autorisation d’écriture est accordée.
x FICHIER Pour vérifier si FILE existe et que l’autorisation d’exécution est accordée.

Imbriqué si

Vous pouvez appliquer autant d'instructions « if » que nécessaire dans votre script bash. Il est également possible d'utiliser une instruction if dans une autre « instruction if ». Il est connu sous le nom d’instruction If imbriquée.

Exemple

Dans cet exemple, nous trouverons « si un nombre donné est supérieur à 50 et s'il s'agit d'un nombre pair » en utilisant une expression if imbriquée.

comment lire un fichier json
 #!/bin/bash #Nested if statement if [  -gt 50 ] then echo 'Number is greater than 50.' if ((  % 2 == 0 )) then echo 'and it is an even number.' fi fi 

Sortir

Si nous saisissons une valeur d’argument de 100, le résultat ressemblera à :

Bash si instruction

Conclusion

Dans cette rubrique, nous avons expliqué comment utiliser le branchement conditionnel dans le flux séquentiel d'exécution des instructions avec l'instruction bash if.