Arguments, paramètres et options

Bien souvent les termes “arguments”, “paramètres” et “options” sont utilisés pour dire la même chose, comme s’il s’agissait de synonyme. Pourtant ce n’es pas le cas, chacun à une signification et une utilité bien particulière. Cette article rappel les bases afin de mieux appréhender la gestion des arguments pour la réalisation de scripts ou de programmes.

Les arguments

Les arguments sont les différents éléments qui composent une commande. Ces éléments sont des chaînes de caractères. L’argument 0 est le nom de la commande utilisé puis les éléments suivant sont des arguments n+1 (argument 1, argument 2, …). Par exemple :

cp -r source destination
# arg 0 : cp (nom de la commande)
# arg 1 : -r
# arg 2 : source
# arg 3 : destination

Les options

Une option est un argument qui modifie le comportement d’une commande. Par exemple l’option -r de la commande cp va permettre une copie récursive. Il peut y avoir des options courtes (ex : -r) ou longues (ex : –recursive). Les options sont codées en dur dans la commande. Une option est normalement facultative, mais il est possible de trouver des commandes qui utilisent des options obligatoires. Il est aussi possible de retrouver plusieurs options combinées en un seul argument, par exemple :

cp -fr source destination
# opt 1 : -f
# opt 2 : -r

Les paramètres

Un paramètre est un argument qui fournit une information à une commande ou une option. Les valeurs des paramètres sont généralement laissées au choix de l’utilisateur (ce qui n’est pas le cas des options).

cp -t destination source1 source2
# parametre de l'option -t : destination
# param 1 : source1
# param 2 : source2

Le cas particulier du paramètre ressemblant à une option

Des problèmes peuvent survenir lorsqu’un paramètre s’écrit comme une option car la commande ne fait pas de différence et l’interprète donc comme une option. Par exemple :

touch -a
touch: opérande de fichier manquant
Saisissez « touch --help » pour plus d'informations.

Pour ne pas interpréter ce genre de paramètre il faut utiliser :

touch -- -a
Vous avez aimé ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

15 + dix =