Vérifier le nombre d'arguments dans Linux Bash

Yahya Irmak 30 janvier 2023
  1. Obtenir des arguments de ligne de commande dans Bash
  2. Vérifier le nombre d’arguments dans Bash
Vérifier le nombre d'arguments dans Linux Bash

Le script bash peut avoir besoin d’un certain nombre d’arguments de ligne de commande pour s’exécuter. Tout au long de cet article, nous expliquerons comment utiliser les arguments de ligne de commande dans Linux Bash. Nous expliquerons également comment vérifier le nombre d’arguments.

Obtenir des arguments de ligne de commande dans Bash

Lors de l’exécution d’un script bash, toute valeur après le nom du programme est donnée comme argument au programme. Nous avons un exemple de la façon dont nous pouvons obtenir ces arguments.

Le contenu du fichier example.sh est ci-dessous.

echo "Program name: $0"
echo "First argument: $1"
echo "Second argument: $2"

Exécutons le programme et voyons le résultat.

./example.sh hello world

Obtenir des arguments de ligne de commande

Comme vous pouvez le voir, le nom du programme est le zéroième argument. Chaque valeur après le nom du programme est prise séquentiellement.

Obtenir les valeurs de tous les arguments dans Bash

Nous pouvons utiliser la commande $* ou $@ pour voir toutes les valeurs données en arguments.

echo "Args with *: $*"
echo "Args with @: $@"

Ce code imprime toutes les valeurs données en arguments à l’écran avec les deux commandes.

Obtenir les valeurs de tous les arguments

Vérifier le nombre d’arguments dans Bash

Nous pouvons utiliser la commande $# pour trouver le nombre de valeurs données en arguments à la commande bash. Par exemple, nous pouvons utiliser cette commande pour empêcher le programme de s’exécuter sans le nombre d’arguments requis.

if [ "$#" != "2" ]; then
    echo "You must provide two args."
else
    echo "Welcome!"
fi

Ce programme ne continuera à s’exécuter que s’il est exécuté avec exactement deux arguments.

Vérifier le nombre d’arguments

Auteur: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn