Ce joue rapide et lâche avec l'interprétation typique de la ligne de commande « arguments », mais je commence la plupart de mes scripts bash avec ce qui suit, comme un moyen facile d'ajouter --help
support:
if [[ "[email protected]" =~ --help ]]; then
echo 'So, lemme tell you how to work this here script...'
exit
fi
Le principal inconvénient est que cela sera également déclenché par des arguments comme request--help.log
, --no--help
, etc. (pas seulement --help
, ce qui pourrait être une exigence pour votre solution).
Pour appliquer cette méthode dans votre cas, vous pouvez écrire quelque chose comme:
[[ "[email protected]" =~ arg4 ]] && echo "Ahoy, arg4 sighted!"
Bonus! Si votre script a besoin d'au moins un argument de ligne de commande, vous pouvez de la même déclencher un message d'aide lorsque aucun argument sont fournis:
if [[ "${@---help}" =~ --help ]]; then
echo 'Ok first yer gonna need to find a file...'
exit 1
fi
qui utilise la syntaxe de substitution vide variable ${VAR-default}
à halluciner un argument --help
si aucune arguments ont été donnés.
Ces arguments sont-ils des chaînes fixes (similaires à '--help',' --version', etc.) ou sont-ils "quelque chose"? – sarnold
Dupliquer, http://stackoverflow.com/questions/255898/how-to-iterate-over-arguments-in-bash-script, http://stackoverflow.com/questions/4528292/passing-multiple-arguments-to -a-unix-shell-script – moodywoody
Ouais. Je passe quelques drapeaux comme arguments au script pas nécessairement dans des nombres fixes. – Kitcha