informatique:linux:commandes:getopts

getopts

La commande getopts est une commande intégrée (built-in) dans les scripts shell (en particulier dans les shells comme bash) qui permet de traiter facilement les options et les arguments passés en ligne de commande lors de l'exécution d'un script. Elle facilite la gestion des arguments de ligne de commande en permettant aux scripts d'analyser les options spécifiées par l'utilisateur.

La syntaxe générale de getopts est la suivante :

getopts options variable

- options est une chaîne qui spécifie les options que vous souhaitez gérer dans votre script. Chaque lettre dans cette chaîne représente une option, et si une lettre est suivie d'un deux-points (:), cela signifie que l'option attend un argument. Par exemple, “ab:c” signifie que le script gère les options -a, -b, et -c, où -b attend un argument. - variable est la variable que vous déclarez pour stocker la lettre de l'option actuelle pendant le traitement.

Voici un exemple simple d'utilisation de getopts dans un script bash :

#!/bin/bash
 
while getopts "a:b:c" option; do
  case "$option" in
    a)
      echo "Option -a avec argument: $OPTARG"
      ;;
    b)
      echo "Option -b avec argument: $OPTARG"
      ;;
    c)
      echo "Option -c sans argument"
      ;;
    \?)
      echo "Option invalide: -$OPTARG"
      exit 1
      ;;
  esac
done

Dans cet exemple, le script peut être appelé avec des options comme -a valeur, -b autre_valeur, ou simplement -c. getopts permet de traiter chaque option de manière séquentielle, en récupérant la lettre de l'option dans la variable $option et en utilisant un bloc case pour gérer chaque option spécifiée par l'utilisateur. Si l'utilisateur spécifie une option invalide, le script affiche un message d'erreur et se termine.

  • informatique/linux/commandes/getopts.txt
  • Dernière modification : 2023/11/27 19:35
  • de Cédric ABONNEL