Comment vérifiez-vous le nombre d'arguments en bash?

Comment vérifiez-vous le nombre d'arguments en bash?

Vous pouvez fournir n'importe quel nombre souhaité d'arguments en ligne de commande à vos scripts bash dans Ubuntu 20.04 en les exécutant. Cependant, parfois les scripts sont écrits de manière si dynamique que même le programmeur ne sait pas exactement combien d'arguments seront fournis par l'utilisateur à l'exécution, mais il pourrait vouloir utiliser ce nombre total quelque part plus tard dans ce script.

Dans cette situation, il doit y avoir un moyen par lequel vous pouvez vérifier le nombre total d'arguments transmis à un script de bash. Pour cela, Bash a une variable spéciale, je.e., $ #. Pour comprendre comment fonctionne cette variable spéciale, vous devrez passer par tous les exemples partagés dans cet article.

Méthode de vérification du nombre d'arguments en bash dans Ubuntu 20.04:

Pour vous expliquer la méthode de vérification du nombre d'arguments fournis à un script bash dans Ubuntu 20.04, nous avons conçu quelques exemples qui sont discutés ci-dessous:

Exemple n ° 1: Impression du nombre total d'arguments en bash:

Pour simplement imprimer le nombre total d'arguments transmis à un script bash dans Ubuntu 20.04, vous pouvez écrire un script bash comme celui illustré dans l'image suivante:

La variable spéciale $ # contient toujours le nombre total d'arguments transmis à tout script de bash spécifique.

Pour tester ce script, nous l'avons exécuté avec trois arguments ou paramètres comme suit:

$ arguments bash.sh 1 2 3

Ici, arguments.SH est le nom de notre fichier de script bash, tandis que 1, 2 et 3 sont les arguments que nous avons transmis à ce script bash. Cela signifie que le nombre total d'arguments dans ce cas de test est «3». Essayons de savoir si ce script bash a correctement affiché le nombre total d'arguments ou non.

Lorsque nous exécutons ce script bash, il affichera le nombre total d'arguments qui lui sont transmis, qui peuvent être vus à partir de l'image ci-dessous:

Exemple # 2: Impression du nombre total d'arguments ainsi que les valeurs des arguments avec des paramètres de position dans Bash:

Maintenant, nous allons écrire un script bash qui imprimera les valeurs des arguments transmis à un script bash et à leur nombre total. Pour ce faire, le script bash est le suivant:

Dans ce script bash, nous avons d'abord imprimé les valeurs des trois paramètres de position. Cela signifie que les arguments qui seront transmis à ce script bash du terminal seront stockés dans ces trois paramètres de position. Après cela, nous avons simplement imprimé la valeur de la variable spéciale $ #.

Dans notre premier exemple, nous exécuterons ce script avec les mêmes arguments que nous sommes transmis au script bash. Cette fois, lorsque nous exécuterons notre script bash, les valeurs des trois arguments passés seront également affichés sur le terminal avec leur nombre total, comme vous pouvez le voir sur l'image illustrée ci-dessous:

Exemple n ° 3: Impression du nombre total d'arguments ainsi que les valeurs des arguments avec la variable spéciale $ @ en bash:

Le but de cet exemple est le même que celui de notre deuxième exemple; Cependant, dans cet exemple, nous utiliserons une autre variable spéciale, je.e., $ @, pour imprimer les valeurs des arguments passés. Fondamentalement, la variable spéciale $ @ peut contenir tous les arguments qui sont transmis à un script bash. Pour comprendre cela, vous pouvez jeter un œil au script bash suivant que nous avons conçu pour vous:

Dans ce script bash, nous avons simplement imprimé la valeur de la variable spéciale $ @, je.e., tous les arguments passés et la valeur de la variable spéciale $ #, i.e., le nombre total des arguments adoptés sur le terminal.

Pour voir comment fonctionne ce script bash modifié, nous l'avons à nouveau exécuté avec les mêmes paramètres que nous l'avons fait dans les deux exemples ci-dessus. Lorsque ce script a été exécuté, la sortie s'est avérée exactement la même que nous l'avons fait dans notre deuxième exemple.

Exemple n ° 4: Impression du nombre total d'arguments ainsi que les valeurs des arguments avec la variable spéciale $ * en bash:

Il s'agit d'une autre version modifiée de notre deuxième exemple car, dans cet exemple, nous utiliserons la variable spéciale $ * pour imprimer les valeurs des arguments passés sur le terminal. Comme la variable spéciale $ @, la variable spéciale $ * peut également contenir les valeurs de tous les arguments passés à un script de bash particulier. Le script de bash modifié est illustré dans l'image ci-dessous:

Dans ce script bash, nous avons simplement imprimé la valeur de la variable spéciale $ *, je.e., tous les arguments passés et la valeur de la variable spéciale $ #, i.e., le nombre total des arguments adoptés sur le terminal.

Pour tester ce script bash et visualiser sa sortie, nous l'avons exécuté avec les mêmes paramètres que nous l'avons fait dans nos trois premiers exemples. Cette fois également lorsque notre script bash a été exécuté, sa sortie était la même que celle de nos deuxième et troisième exemples, comme vous pouvez le voir sur l'image suivante:

Exemple n ° 5: limiter le nombre total d'arguments en bash:

Enfin, la variable spéciale $ # peut également être utilisée pour limiter le nombre total d'arguments transmis à un script bash dans Ubuntu 20.04. Pour comprendre ce phénomène, vous devrez passer par le script bash indiqué dans l'image ci-dessous:

Dans ce script bash, nous avons une déclaration «IF» qui est appliquée à la variable spéciale $ #. Nous voulions limiter le nombre d'arguments à «3». Si les arguments seront inférieurs à «3», un message d'erreur sera imprimé sur le terminal. De même, si les arguments seront supérieurs à «3», encore une fois un message d'erreur sera imprimé sur le terminal. Cependant, si les arguments fournis seront égaux à «3» seulement, alors les valeurs de ces arguments seront imprimées sur le terminal.

Nous voulions tester les trois conditions de ce script bash. Pour cela, nous avons d'abord exécuté ce script avec trois paramètres, et la sortie correspondante est affichée dans l'image suivante:

Après cela, nous avons exécuté ce script bash avec quatre arguments, à cause de laquelle un message d'erreur a été imprimé sur le terminal comme indiqué dans l'image ci-dessous:

Enfin, nous avons exécuté ce script bash avec deux arguments, à cause de laquelle un message d'erreur a été imprimé à nouveau sur le terminal comme indiqué dans l'image suivante:

Conclusion:

La variable spéciale $ # vous permettra de trouver le nombre total d'arguments transmis à n'importe quel script bash très facilement. En consultant les exemples partagés dans cet article, vous auriez une idée claire du fonctionnement de cette variable spéciale. Par conséquent, vous pouvez maintenant écrire de tels scripts bash sans aucune inquiétude qui utilise en quelque sorte le nombre total d'arguments fournis à ces scripts bash lors de l'exécution sur Ubuntu 20.04.