59 lines
1.1 KiB
Bash
Executable File
59 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Fonction pour afficher l'aide
|
|
usage() {
|
|
echo "Usage: $0 [OPTIONS]"
|
|
echo "Options:"
|
|
echo " -h, --help Affiche ce message d'aide"
|
|
echo " -f, --file FILE Spécifie le fichier à utiliser"
|
|
echo " -v, --verbose Active le mode verbeux"
|
|
exit 1
|
|
}
|
|
|
|
# Mapping des options longues vers des options courtes
|
|
for arg in "$@"; do
|
|
shift
|
|
case "$arg" in
|
|
"--help") set -- "$@" "-h" ;;
|
|
"--file") set -- "$@" "-f" ;;
|
|
"--verbose") set -- "$@" "-v" ;;
|
|
*) set -- "$@" "$arg"
|
|
esac
|
|
done
|
|
|
|
# Utilisation de getopts pour les options courtes
|
|
while getopts ":hf:v" opt; do
|
|
case ${opt} in
|
|
h)
|
|
usage
|
|
;;
|
|
f)
|
|
file=$OPTARG
|
|
;;
|
|
v)
|
|
verbose=true
|
|
;;
|
|
\?)
|
|
echo "Option invalide: -$OPTARG" >&2
|
|
usage
|
|
;;
|
|
:)
|
|
echo "L'option -$OPTARG requiert un argument." >&2
|
|
usage
|
|
;;
|
|
esac
|
|
done
|
|
shift $((OPTIND -1))
|
|
|
|
# Exemple de traitement des options
|
|
if [ "$verbose" = true ]; then
|
|
echo "Mode verbeux activé"
|
|
fi
|
|
|
|
if [ -n "$file" ]; then
|
|
echo "Fichier spécifié: $file"
|
|
fi
|
|
|
|
# Le reste de votre script ici...
|
|
|