Comment indiquer qu’un argument de ligne de commande est facultatif lors de l’impression

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 

[-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:

  • crochets [optional option]
  • crochets angulars
  • accolades {default values}
  • parenthèse (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.