Possible en double:
Using getopts in bash shell script to get long and short command line optionstravailler avec des options dans le code bash
J'essaie de comprendre comment faire usage de drapeau comme -e/- envoyer par email -h/--help par exemple.
MISE À JOUR: Exemple actuel:
while getopts ":ec:h" OptionArgument; do
case $OptionArgument in
e) S1=${OPTARG};;
c) S2=${OPTARG};;
h) usage;;
\?) usage;;
*) usage;;
esac
done
Cependant, si je laisse en blanc, il ne fait rien. Si j'ajoute un -h, il fonctionne toujours et ne montrera pas l'utilisation.
Update2
while [ $1 ]; do
case $1 in
'-h' | '--help' | '?')
usage
exit
;;
'--conf' | '-c')
;;
'--email' | '-e')
EMAIL=$1
;;
*)
usage
exit
;;
esac
shift
done
-h/- travaux d'aide, mais tout le reste échoue et affiche l'utilisation.
'la getopts' Bash ne supporte pas longtemps arguments, seulement une lettre. Voir [cette réponse] (http://stackoverflow.com/a/402410/26702) pour 'getopt' de GNU pour faire ce que vous voulez. – Telemachus
Se penchera sur cela –
Mis à jour la question et jusqu'à présent, il fonctionne à moitié –