Adapté de la section "Utility Argument Syntax" de la norme POSIX :
utility_name [-a] [-b] [-c option_argument]
[-d|-e] [-f[option_argument]] [operand...]
L'utilitaire de l'exemple est nommé utility_name. Il est suivi par les options , les arguments d'option et les opérandes .
Les arguments qui se composent de -caractères et de lettres ou de chiffres simples, tels que a, sont connus sous le nom d' options (ou, historiquement, de drapeaux ). Certaines options sont suivies d'un argument d'option , comme illustré avec [-c option_argument]. Les arguments suivant les dernières options et options-arguments sont appelés opérandes .
La norme définit également "l'argument" comme
Dans le langage de commande shell, un paramètre transmis à un utilitaire comme l'équivalent d'une seule chaîne dans le argvtableau créé par l'une des execfonctions. Un argument est l'une des options, des arguments d'option ou des opérandes suivant le nom de la commande.
Toutes les choses après la utility_nameligne de commande sont les arguments de l'utilitaire , et ils apparaissent tous dans les paramètres de position s'il s'agit d'un script shell. Les termes option, option-argument et opérande sont des noms plus spécifiques pour ces arguments sur la ligne de commande.
"Flag" et "switch" sont des synonymes courants de "option".
Dans le cas de
utility -a b=c
-aet b=csont des arguments,
-aest une option si l'utilitaire la reconnaît comme telle (l' lnutilitaire n'a pas d' -xoption, donc -xn'est pas une option à lnproprement parler et ln -xdéclencherait un message de diagnostic),
b=cest un argument-option si l' -aoption prend un argument, sinon c'est un opérande,
bet nec sont pas des options, des arguments d’option et non des opérandes en eux-mêmes.
Comme vous le constatez dans mon texte ci-dessus, travailler à partir du synopsis d'un utilitaire (comme indiqué dans le manuel de l'utilitaire) aurait été plus facile que d'essayer de décoder une commande générique tapée sur la ligne de commande. Le manuel indiquera clairement quelles options prennent les arguments d'option et quels arguments sont des opérandes, etc.
Appeler cune "valeur" est à mon humble avis parfaitement ok. Ce n'est pas quelque chose qui est standardisé, mais très peu de gens vous comprendraient mal si vous dites " cest la valeur donnée àb ". Cela ressortirait clairement du contexte de l'utilité en question.
Par exemple
$ awk -v var="d" '...' data.in
Quiconque est au courant awkdirait que cela -v var="d"signifie " la awkvariable varse voit attribuer la valeur dsur la ligne de commande ".