getopt

Linux
Publiée le 2026-10-04 05:41:28
Illustration Linux pour la commande getopt

getopt

# Définir les options courtes et longues à reconnaître pour le script
OPTIONS_SHORT="-hvf"
OPTIONS_LONG="help,version,verbose"

# Initialiser un tableau pour stocker les arguments traités
declare -a ARGS=()

# Simuler l'appel de getopt pour parser les arguments passés au script
# On utilise ici une structure courante pour la démonstration.
set -- "$@"

# Vérifier si des arguments ont été fournis
if [ $# -eq 0 ]; then
echo "Usage: $0 [options]"
fi

# Utiliser getopt pour analyser les options (ici, on simule le parsing)
# En réalité, ceci doit être encapsulé dans une boucle 'while' et un 'eval'.
TEMP_ARGS=$(getopt -o "$OPTIONS_SHORT" -- "$@")

# Si l'analyse a réussi, assigner les résultats à des variables temporaires
if [ $? -eq 0 ]; then
export OPTIND=$2 # Définir le pointeur d'option pour la suite du script
fi

# Boucle de démonstration : parcourir tous les arguments passés
for arg in "$@"; do
# Vérifier si l'argument commence par un tiret (est une option)
if [[ "$arg" =~ ^- ]]; then
echo "Option détectée: $arg. Tu peux la traiter ici."
else
# Traiter les arguments positionnels non optionnels
echo "Argument positionnel trouvé: $arg"
fi
done

# Exemple de test : afficher l'aide si -h est passé
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
echo "Affiche l'aide. Consulte la man page pour plus de détails."
fi

# Exemple de test : vérifier le nombre d'options reconnues (simulé)
echo "Nombre total d'arguments traités: $#"

# Afficher une confirmation que le parsing est terminé
echo "Parsing des options terminé avec succès."