GNU/Linux >> Tutoriels Linux >  >> Linux

Existe-t-il des normes pour les commutateurs et les arguments de ligne de commande Linux ?

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


Linux
  1. 8 conseils pour la ligne de commande Linux

  2. 10 tutoriels de commande Linux pour débutants et experts

  3. Titan - Un gestionnaire de mots de passe en ligne de commande pour Linux

  4. ppl - Un carnet d'adresses en ligne de commande pour Linux

  5. Passer les arguments de la ligne de commande au script Bash ?

5 trucs et astuces intéressants en ligne de commande sous Linux - Partie 1

10 astuces de ligne de commande Linux utiles pour les débutants - Partie 2

Tutoriel Linux Uniq Command pour débutants (10 exemples)

Micro - Un éditeur de texte basé sur la ligne de commande pour Linux

Tutoriels et exemples de commande Linux Head pour les débutants

19 trucs et astuces utiles pour la ligne de commande Linux