Comment vérifier l'existence d'un argument d'entrée dans un script shell bash

Comment Verifier L Existence D Un Argument D Entree Dans Un Script Shell Bash



Le script shell bash est un outil puissant pour automatiser les tâches répétitives et effectuer des opérations complexes sur la ligne de commande. L'un des concepts fondamentaux des scripts shell consiste à accepter les arguments d'entrée de l'utilisateur ou d'autres scripts. Lorsque vous traitez des arguments d'entrée, il est essentiel de vérifier si l'argument d'entrée existe ou non pour éviter un comportement inattendu dans le script. Cet article discutera de différentes façons de vérifier l'existence d'arguments d'entrée dans un script shell Bash.

Comment vérifier l'existence d'un argument d'entrée dans un script shell bash

Il existe trois manières différentes :

  1. Utilisation de la commande 'tester'
  2. Utilisation de la variable '$#'
  3. Utilisation de l'option '-n'

Méthode 1 : Utilisation de la commande « test »

La commande 'test', également connue sous le nom de commande '[', est une commande intégrée dans Bash qui teste diverses conditions. L'une des conditions que nous pouvons tester à l'aide de la commande 'test' est de savoir si une variable existe ou non. Voici un exemple de code pour vérifier si un argument d'entrée existe à l'aide de la commande « test » :







#!/bin/bash

si [ -Avec '1 $' ]

alors

écho 'L'argument d'entrée est manquant.'

sortie 1

être

écho 'L'argument d'entrée existe.'

Ici, l'option '-z' est utilisée avec la commande 'test' pour vérifier si l'argument d'entrée est une chaîne vide ou non. Le script affichera un message d'erreur et se terminera avec un code d'état de 1 si l'argument d'entrée est une chaîne vide. Sinon, le script continuera à s'exécuter, ci-dessous j'ai fourni un argument d'entrée pour le code afin qu'il affiche le message d'existence de l'entrée de l'argument :





Méthode 2 : Utilisation de la variable « $# »

Le '$#' La variable stocke le nombre d'arguments d'entrée passés à un script. Si le script attend au moins un argument d'entrée, nous pouvons vérifier si le '$#' variable est supérieure à zéro. Voici un exemple de code pour vérifier si au moins un argument d'entrée existe en utilisant le '$#' variable:





#!/bin/bash

si [ $# -eq 0 ]

alors

écho 'L'argument d'entrée est manquant.'

sortie 1

être

écho 'L'argument d'entrée existe.'

Ici le '-eq' l'opérateur est utilisé pour vérifier si le '$#' est égale à zéro ou non et si la variable '$#' est égale à zéro, le script affichera un message d'erreur et se terminera avec un code d'état de 1. Sinon, le script continuera à s'exécuter, ci-dessous j'ai fourni et entré argument pour le code afin qu'il affiche le message d'existence de l'entrée de l'argument :



Méthode 3 : Utilisation de l'option '-n'

Le '-n' L'option est utilisée pour vérifier si une variable n'est pas vide. Nous pouvons utiliser cette option pour vérifier si l'argument d'entrée existe ou non. Ci-dessous, j'ai donné un exemple de code qui vérifie si un argument d'entrée existe en utilisant le '-n' option:

#!/bin/bash

si [ -n '1 $' ]

alors

écho 'L'argument d'entrée existe.'

autre

écho 'L'argument d'entrée est manquant.'

sortie 1

être

Ici le '-n' L'option est utilisée pour vérifier si l'argument d'entrée n'est pas vide et si l'argument d'entrée n'est pas vide, le script affichera un message de réussite. Sinon, le script affichera un message d'erreur et se terminera avec un code d'état de 1, ci-dessous j'ai fourni un argument d'entrée pour le code afin qu'il affiche le message d'existence de l'entrée de l'argument :

Conclusion

Dans les scripts shell, la vérification de l'existence des arguments d'entrée est une étape essentielle pour s'assurer que le script s'exécute comme prévu. Nous pouvons utiliser différentes techniques pour vérifier l'existence d'arguments d'entrée, comme l'utilisation de la commande 'test', la variable '$#' ou l'option '-n'. En implémentant ces techniques, nous créons des scripts shell plus robustes et fiables qui peuvent gérer les arguments d'entrée.