L'interface de ligne de commande Linux/GNU suit la norme POSIX. Ceci est noté par GNU dans ses standards :http://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html.
La syntaxe de la ligne de commande fait également partie de la spécification Unix unique, bien que --long-options soit une innovation GNU IIRC.
Voir ici :http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html
Mais oui, cette norme est implémentée en tant que getopt.
Un résumé rapide du fil :
-
Votre CLI doit afficher l'aide en cas de paramètres manquants ou incorrects en plus du message d'erreur le cas échéant.
-
Vous devez utiliser
-
pour un indicateur ou une option à une seule lettre et--
pour une option longue, par exemple-a
et--all
-
Tous les programmes doivent prendre en charge deux options standard :
-v
--version
et-h
--help
.-h
et--help
=> Donner un message d'utilisation et quitter-v
et--version
=> Afficher la version du programme et quitter
Voir les liens (IEEE et GNU getopt) fournis sur cette réponse https://stackoverflow.com/a/8957246
Généralement, oui.
- IEEE
- GNU getopt
ESR a recueilli de nombreuses informations à ce sujet dans son livre "The Art of UNIX Programming". Voici un extrait.
-un
Tous (sans argument). S'il existe une option --all de style GNU, il serait assez surprenant que -a soit autre chose qu'un synonyme. Exemples :fuser(1), fetchmail(1).Ajouter, comme dans tar(1). Ceci est souvent associé à -d pour supprimer.
-b
Taille du tampon ou du bloc (avec argument). Définissez une taille de tampon critique ou (dans un programme lié à l'archivage ou à la gestion des supports de stockage) définissez une taille de bloc. Exemples :du(1), df(1), tar(1).Lot. Si le programme est naturellement interactif, -b peut être utilisé pour supprimer les invites ou définir d'autres options appropriées pour accepter l'entrée d'un fichier plutôt qu'un opérateur humain. Exemple :flex(1).
-c
Commande (avec argument). Si le programme est un interpréteur qui prend normalement des commandes à partir de l'entrée standard, on s'attend à ce que l'option d'un argument -c lui soit transmise sous la forme d'une seule ligne d'entrée. Cette convention est particulièrement forte pour les shells et les interpréteurs de type shell. Exemples :sh(1), ash(1), bsh(1), ksh(1),python(1). Comparez -e ci-dessous.Vérifier (sans argument). Vérifiez l'exactitude du ou des arguments de fichier de la commande, mais n'effectuez pas réellement de traitement normal. Fréquemment utilisé comme option de vérification de la syntaxe par les programmes qui interprètent les fichiers de commandes. Exemples :getty(1), perl(1).
Voir la liste complète sur http://catb.org/~esr/writings/taoup/html/ch10s05.html