Supposons que je dispose d’un script pouvant être exécuté de l’une des manières suivantes.
./foo arg1 arg2 ./foo
Existe-t-il une méthode généralement acceptée pour indiquer que arg1 et arg2 ne sont pas des arguments obligatoires lors de l’impression de l’utilisation correcte de la commande?
J’ai parfois remarqué une utilisation imprimée avec les arguments mis entre parenthèses, comme dans l’impression d’utilisation suivante.
Usage: ./foo [arg1] [arg2]
Est-ce que ces parenthèses signifient que l’argument est facultatif ou existe-t-il une autre méthode généralement acceptée pour indiquer qu’un argument est facultatif?
Personnellement, je n’ai pas vu de “standard” indiquant qu’un commutateur est facultatif (comme la norme qui définit comment certaines langues sont écrites par exemple), car c’est vraiment un choix personnel, mais selon les documents IBM et le wiki , Avec de nombreux scripts shell que j’ai personnellement vus (et des options de ligne de commande depuis divers programmes), le “defacto” consiste à traiter les parameters entre crochets ( []
) comme des parameters facultatifs. Exemple de Linux:
ping
(sortie ajustée …)
usage: ping [-c count] [-t ttl] host
où [-c count]
et [-t ttl]
sont des parameters facultatifs, mais l’ host
ne l’est pas.
Personnellement, je suis aussi le defacto en utilisant []
pour signifier paramètre optionnel.
Je suppose que c’est autant une norme que n’importe quoi.
Les spécifications de base du groupe ouvert
Norme IEEE 1003.1, édition 2013
Copyright © 2001-2013 L’IEEE et The Open Group
Ch. 12 – Conventions utilitaires
Bien que cela ne semble pas mentionner beaucoup de choses que j’ai souvent vues au cours des années, elles ont eu diverses significations:
[optional option]
{default values}
(miscellaneous info)
Edit: je devrais append que ce ne sont que des conventions. L’important est de choisir une convention qui soit raisonnable, énoncez clairement votre convention et respectez-la régulièrement. Soyez flexible et créez des conventions qui semblent être les plus fréquemment rencontrées sur vos plates-formes cibles. Ils seront les plus faciles à adapter pour les utilisateurs.
Oui, les crochets indiquent des arguments facultatifs dans les pages de manuel Unix.
De “l’homme homme”:
[- abc ] tout ou partie des arguments dans [] sont facultatifs.