1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| while [[ ${*} ]]
do
if (( ! StopArg ))
then
case "${1,,}" in
"--") StopArg=1 ;;
--option1|-o) ...
--option2)
# Récupération d'une possible valeur, celle ci ne soit pas commencer par un -
# attention a ne pas mettre une option avec valeur facultative avant tes valeurs hors arguments sinon il pensera que ça en fait parti
[[ ${2} != -* ]] && { Valeur="${2}"; shift; }
...
-[a-zA-Z]*) argument inconnu mais pourquoi ne pas s'amuser à décortiquer les caractères 1 à 1, ce sont peut être des options courtes que tu peux traiter via une boucle.
*) valeur hors argument
esac
else
echo "ce ne sont plus que des valeurs hors arguments car -- a été utilisé"
fi
unset Valeur
shift
done |